-1
我正在做一项任务,虽然我对实际任务没有任何问题,但我想让我的代码“正确”。我想在我的头文件中定义一个静态变量。我希望它是静态的,这样这个类的所有实例都可以访问同一个变量。我不想让它外观,我只想让这个类有权访问它。然后我试图在实际的文件(而不是头)中定义它,但是我一直收到关于无法投射的错误。我只是想学习如何正确地做到这一点,以获得更干净的代码。在头文件|中创建一个静态字段C++
我正在做一项任务,虽然我对实际任务没有任何问题,但我想让我的代码“正确”。我想在我的头文件中定义一个静态变量。我希望它是静态的,这样这个类的所有实例都可以访问同一个变量。我不想让它外观,我只想让这个类有权访问它。然后我试图在实际的文件(而不是头)中定义它,但是我一直收到关于无法投射的错误。我只是想学习如何正确地做到这一点,以获得更干净的代码。在头文件|中创建一个静态字段C++
你的字段的定义停留在类中:
class AddrSpace
{
List *availSpots;
};
这个变量的完整名称将是AddrSpace::availSpots
。 C++需要明确定义静态变量(包括类的静态字段)。我不会说这是完全合乎逻辑的,因为编译器已经拥有了所有必要的东西。尽管如此。您的C++文件中的定义应该如下所示:
List *AddrSpace::availSpots = new List();
下一次请将源直接添加到问题中。
当您提出有关您的代码导致的问题的问题时,如果您提供[代码人员可以用来重现问题的代码](http://stackoverflow.com/help/mcve),您将得到更好的答案。 – CAB
而问题中的代码必须是文本格式而不是图像。 – drescherjm
在实现(.cc)文件中,您需要正确地声明变量,而不仅仅是分配给它。例如''List * AddrSpace :: availSlots = new List();' –