我是C++的新手,正在尝试解决这个问题。编译时,出现错误a nonstatic member reference must be relative to a specific object
。编写代码的正确方法是什么?这就是numShapes
给我错误的地方。
class Application
private:
int numShapes;
public:
Shapes * shapes[numShapes];
然后,如果这是正确的术语,则将其作为我的虚拟基类放在另一个 header 中。
class Shapes
{
virtual void draw(char letter);
virtual ~Shapes() {}
};
最佳答案
代码Shapes * shapes[numShapes];
正在请求编译器保留numShapes数量的空间。问题在于它在编译时没有已知值。因此,要么使numshapes
为常量,要么研究动态内存分配。
关于c++ - 无法找出此非静态成员引用错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40837314/