#include #include "ClassTemplate1.h" #include "ClassTemplate3.h" #include "NormalOldClass.h" #include "NormalOldClass2.h" void Test1(); void Test2(); void Test3(); void Test4(); void Test5(); void Test6(); void main() { Test1(); Test2(); Test3(); Test4(); Test5(); } void Test1() { f1(); } void Test2() { ClassTemplate1 i; ClassTemplate1 f; f2(i); f2(f); } void Test3() { NormalOldClass X; X.f4(); } void Test4() { ClassTemplate1 i1; ClassTemplate1 f1; ClassTemplate2 i2; ClassTemplate2 f2; i2.f5(i1); f2.f5(f1); //i2.f5(f2); //error C2664: 'f5' : cannot convert parameter 1 from //'class ClassTemplate2' to //'class ClassTemplate1 &' } void Test5() { NormalOldClass2 X; X.f6(); } void Test6() { ClassTemplate3 i; i.f8(); }