最好用代码本身来解释。我想使用QList<MyStruct>
作为静态成员,但是获取链接器错误2001(LNK2001
)。代码在文件MyClass.h
struct MyStruct{
double x;
...
};
typedef QList<MyStruct> MyStructList;
class MyClass
{
....
private:
static MyStructList _myValues; // does not work => LNK2001
MyStructList _myValues; // Test 1 OK
static QList<int> _myValues; // Test 2 OK
任何提示? Eran的回答(见下面的评论)是正确的提示。解决
LNK2001:
error: LNK2001: unresolved external symbol "private: static class QList<struct>
答案 0 :(得分:1)
另一个被遗忘的静态成员定义的情况...... MyStructList MyClass::_myValues
应该放在项目的一个.cpp文件中。