class Entity
{
public:
const int size = 5;
int example[size]; //报错:非静态成员必须与特定对象相对!
Entity()
{
for (int i = 0; i < 5; i++)
{
example[i] = 2;
}
}
};
int main()
{
Entity e;
std::cin.get();
}
首先了解下什么是实例成员和静态成员!
**实例成员:**包括实例和函数,就是说它的存储空间属于不同的实例,就算是有不同实例的同名成员,存储空间也是不一样的!
静态成员相比之下,静态成员的存储空间都是固定的,所有的实例都可以共享使用!
解释:
也就是说在这个例子中,size是个实例成员,在调用它的时候必须要先声明类class Entity的对象!
正确做法:
class Entity
{
public:
static const int exampleSize = 5;
int example[exampleSize];
Entity()
{
for (int i = 0; i < exampleSize; i++)
{
example[i] = 2;
}
}
};
以后在补充更多的内容!