自分の理解が間違っているのか、MSVC Nov 2012 CTPが対応していないのか、が分からないのでブログに投げてみるテスト。
std::vector
decltype(v)::value_type n;
ってill formedですか?
#include <vector> template <class T> struct type_holder { typedef T type; }; int main() { using std::vector; vector<int> v1; //vector<decltype(v1)::value_type> v2;//error vector<type_holder<decltype(v1)>::type::value_type> v2;//ok return 0; }
templateはさむとやりたいことは達成できるが…
参考文献
"decltypeで取得した型内のネストした型を使う方法"http://d.hatena.ne.jp/eldesh/20090925/1253827973(2012/12/06アクセス)