【发布时间】:2009-12-29 21:14:04
【问题描述】:
我有一个名为 Stuff 的小类,我想在其中存储东西。这些东西是 int 类型的列表。在我使用的任何类的代码中,我都希望能够在 Stuff 类中访问这些东西。
Main.cpp:
#include "Stuff.h"
int main()
{
Stuff::things.push_back(123);
return 0;
}
东西.h:
#include <list>
class Stuff
{
public:
static list<int> things;
};
但我在这段代码中遇到了一些构建错误:
错误 LNK2001:未解析的外部符号“公共:静态类 std::list
> Stuff::things”(?things@Stuff@@2V?$list@HV?$ allocator@H@std@@@std@@A) Main.obj CSandbox 致命错误 LNK1120: 1 unresolved externals C:\Stuff\Projects\CSandbox\Debug\CSandbox.exe CSandbox
我是一名 C# 人,我正在尝试为一个业余项目学习 C++。我认为我不明白 C++ 如何处理静态成员。所以请解释一下我在这里做错了什么。
【问题讨论】:
-
我可以礼貌地建议您尝试格式化您的代码示例吗? :-)
-
如果我知道怎么做,我会的,尽管我注意到 Greg 很友善地为我做这件事
-
我打算把我的答案和...2个新答案。只是因为我知道。