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