首先,我可能应该让你知道我绝不是一名程序员,我只是为了一项家庭作业而这样做,所以如果可能的话,我将需要一个非常详细的解释:)
我目前有一个 Node 类,用于存储点的坐标。除此之外,我想要用它做的是根据计数器为每个不同的 Node 对象分配一个索引号。根据我从互联网上收集到的信息,我这样做的方式是使用另一个类在构造函数中初始化我的计数器,并且在 Node 类中我只是将其添加为静态参数。
这是我的上述代码:
class counter
{
public:
int nr;
counter()
{
nr = 0;
}
};
class Nod
{
static counter ctr;
public:
int index;
Punct pct;
Nod(Punct &temp)
{
pct = temp;
index = ctr.nr ++ ;
}
Nod() {}
};
现在,构建没问题,但是一旦我尝试在主函数中声明一个 Nod 对象,我就会收到以下错误: fatal error LNK1120: 1 unresolved externals 并且我完全不知道这是为什么。我以前在尝试编写自己的析构函数时遇到过此错误,但我通过删除那段代码来解决这个问题。
谢谢,如果我对我提到的一些内容使用了错误的术语,我很抱歉。
静态数据成员是declared在课堂上,但必须是defined恰好在一个翻译单元中(= .cpp 文件)。将以下内容放入一个 .cpp 文件(最好是 Nod.cpp)中:
counter Nod::ctr;
顺便说一句,你可以只使用int
而不是自定义类counter
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)