C++ C+中的静态成员和LNK错误+;
我有一个类,它有一个静态成员,我想在类构造函数中使用它,但是代码没有编译,我留下了以下错误: 致命错误LNK1120:1个未解析的外部 错误LNK2001:未解析的外部符号“受保护:静态类集合A::集合” 任何帮助都将不胜感激。 谢谢 a、 h: 您需要添加C++ C+中的静态成员和LNK错误+;,c++,static,C++,Static,我有一个类,它有一个静态成员,我想在类构造函数中使用它,但是代码没有编译,我留下了以下错误: 致命错误LNK1120:1个未解析的外部 错误LNK2001:未解析的外部符号“受保护:静态类集合A::集合” 任何帮助都将不胜感激。 谢谢 a、 h: 您需要添加 Collection<A*> A::collection; Collection A::Collection; 到a.cpp文件。在.cpp文件中,您需要添加: Collection<A*> A::collect
Collection<A*> A::collection;
Collection A::Collection;
到a.cpp文件。在.cpp文件中,您需要添加:
Collection<A*> A::collection;
Collection A::Collection;
h只声明某处会有一个副本。您需要在.cpp中提供该副本。或者,如果您不想将该行放入cpp文件中,可以使用静态方法返回对静态实例的引用。。。i、 e
class A
{
public:
static Collection<A*>& collection()
{
static Collection<A*> singleInstance;
return singleInstance;
}
};
A类
{
公众:
静态收集&Collection()
{
静态采集单实例;
返回单实例;
}
};
Collection<A*> A::collection;
class A
{
public:
static Collection<A*>& collection()
{
static Collection<A*> singleInstance;
return singleInstance;
}
};