Link errors when using static std::list

Started by
1 comment, last by revearz 19 years, 12 months ago
Hi, I''m getting link errors when I''m using a static std::list as a member variable in my class. Completely stumped .. Example: class CTest { public: CTest () { }; ~CTest() { }; static std::vector list; }; static CTest test; int main( ) { test.list.push_back( 1 ); } I get the following link error: "error LNK2001: unresolved external symbol "public: static class std::vector > CTest::list" (?list@CTest@@2V?$vector@HV?$allocator@H@std@@@std@@A)" It links fine when I remove the static declaration in front of the std::vector though. Anyone have a clue? Thanks
Advertisement
A static class variable must not only be declared; it must also be defined in a source file. Watch:

// MyClass.hclass MyClass{    static int i;};// MyClass.cppint MyClass::i;


"Sneftel is correct, if rather vulgar." --Flarelocke
I see ... thanks for the help. Greatly appreciated.

This topic is closed to new replies.

Advertisement