Skip to main content
gamedev.net
🔒 Locked

Link errors when using static std::list

Started by revearz Apr 20, 2004 at 9:56 PM 1 replies 350+ views
Original Post
revearz
revearz
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
Sneftel
Sneftel
A static class variable must not only be declared; it must also be defined in a source file. Watch:


// MyClass.h


class MyClass
{
static int i;
};


// MyClass.cpp

int MyClass::i;



"Sneftel is correct, if rather vulgar." --Flarelocke

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.