1

这最好由代码本身来解释。我想使用 aQList<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> 
4

1 回答 1

1

另一个被遗忘的静态成员定义的案例......MyStructList MyClass::_myValues应该放在项目的一个 .cpp 文件中。

于 2012-07-11T21:13:39.563 回答