This topic is now archived and is closed to further replies.


Link error with nested class in template

Recommended Posts

Hi ! I want to do some template classes and I need one or more nested classes in. I code everything in the header but I do one part for declarations and an other part for definitions. Here some code to explain the problem: #ifndef __TEST_H__ #define __TEST_H__ template class CTest { protected: class CNested { private: int i; public: CNested (); }; CNested toto; public: CTest (); }; // This function does a link error template CTest::CNested::CNested () : i (0) {} // This function works template CTest::CTest () {} #endif // __TEST_H__ If I put the code in the declaration of the nested class, I don''t have the error. (But it make a lots of error under linux g++) Anyone knows how to resolve the problem please ?

Share this post

Link to post
Share on other sites