2016-05-19 16 views
1

有効なC++ではないような古いC++コード(VS2008からVS2015)をコンパイルしようとしています。私は問題をこのようなものに絞り込んだ。typedef特殊なネストされたテンプレート

class Any { }; 

class Parent 
{ 
    template < typename anyT> 
    class Child { }; 
}; 

template< typename parentT > 
class Fail 
{ 
    typedef typename parentT::Child<Any> ChildT;  // 2 errors 
    typename ChildT _child;        // 2 errors 
}; 

は、私は、Visual Studioからこのコンパイラエラーを取得し、2015年

Error C2059 syntax error: '<' TemplateTest d:\programming\templatetest\example.h 12 
Error C2238 unexpected token(s) preceding ';' TemplateTest d:\programming\templatetest\example.h 12 
Error C3646 '_child': unknown override specifier TemplateTest d:\programming\templatetest\example.h 13 
Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int TemplateTest d:\programming\templatetest\example.h 13 

答えて

関連する問題