在头文件中创建静态字段| C ++

时间:2016-11-30 19:38:31

标签: c++ static field

我正在完成作业,虽然我对实际作业没有任何问题,但我想制作我的代码"正确。"我试图在我的头文件中定义一个静态变量。我希望它是静态的,以便该类的所有实例都可以访问同一个变量。我也不想要extern它,我希望这个类可以访问它。然后我试图在实际文件中定义它(不是标题)但我一直收到一个关于无法转换的错误。我只是想学习如何正确地做到这一点以获得更清晰的代码。

1 个答案:

答案 0 :(得分:1)

您的字段的定义保留在班级内:

class AddrSpace
{
    List *availSpots;
};

此变量的全名为AddrSpace::availSpots。 C ++需要明确定义静态变量(包括类的静态字段)。我不会说这是完全合乎逻辑的,因为编译器已经拥有生成所有必要内容的所有内容。不过就是这样。 C ++文件中的定义应如下所示:

List *AddrSpace::availSpots = new List();

下次请将来源直接添加到问题中。