template<class T2>
class B
{
};
template<class T3>
class C
{
private:
B<A<int>> a;
};
void main()
{
}
在vc++6.0 中,编译的结果是:
Cpp1.cpp
F:\Work\新建文件夹 (2)\Cpp1.cpp(16) : error C2146: syntax error : missing ',' before identifier 'a'
F:\Work\新建文件夹 (2)\Cpp1.cpp(17) : see reference to class template instantiation 'C<T3>' being compiled
F:\Work\新建文件夹 (2)\Cpp1.cpp(16) : error C2065: 'a' : undeclared identifier
F:\Work\新建文件夹 (2)\Cpp1.cpp(17) : see reference to class template instantiation 'C<T3>' being compiled
F:\Work\新建文件夹 (2)\Cpp1.cpp(16) : error C2143: syntax error : missing '>' before ';'
F:\Work\新建文件夹 (2)\Cpp1.cpp(17) : see reference to class template instantiation 'C<T3>' being compiled
F:\Work\新建文件夹 (2)\Cpp1.cpp(16) : error C2208: 'class B' : no members defined using this type
F:\Work\新建文件夹 (2)\Cpp1.cpp(17) : see reference to class template instantiation 'C<T3>' being compiled
Error executing cl.exe.