For the code below:
#include #include using namespace std; class Foo2; class Foo3; template class Foo1 { pub
You need to use a T*, not a T. Looks to me like you came from Java where everything is a reference. There is no ? in C++ templates. I think that you need to pick up a book on basic C++ first, and then come back to templates.
?