C++ 如何从C++;?

C++ 如何从C++;?,c++,arrays,class,scope,C++,Arrays,Class,Scope,我在高中时经常练习,但我已经好几年没练习了。 我要做的是创建一个数组,它将存储1-100中的100个ID。(这是一个游戏,其中每个项目将被分配一个ID,以区分每个项目) 这是我的密码 #include <iostream> #include <string> using namespace std; class items_class { public: items_class(); ~items_class(); static int ite

我在高中时经常练习,但我已经好几年没练习了。 我要做的是创建一个数组,它将存储1-100中的100个ID。(这是一个游戏,其中每个项目将被分配一个ID,以区分每个项目) 这是我的密码

#include <iostream>
#include <string>

using namespace std;

class items_class
{
public:
    items_class();
    ~items_class();
    static int item_ID[100];
};

items_class::items_class()
{
    for(int i=0;i<=100;i++)
        {
            item_ID[i] = i;
        }

}

int main()
{
    items_class items();

    for(int x=0;x<=100;x++)
        {
            cout << items.item_ID[x] << endl;
        }
}
#包括
#包括
使用名称空间std;
类项目\u类
{
公众:
项目_类();
~items_class();
静态整数项_ID[100];
};
items\u class::items\u class()
{

对于(inti=0;i这是您缺少的,您声明了静态变量,但从未定义过它

#include <iostream>
#include <string>

using namespace std;


class items_class
{
public:
    items_class();
    ~items_class();
    static int item_ID[100];
};

int items_class::item_ID[100]; // Need to define the static variable in a compilation unit.
items_class::items_class()
{
    for(int i=0;i<=100;i++)
        {
            items_class::item_ID[i] = i;
        }

}

int main()
{
    items_class items();

    for(int x=0;x<=100;x++)
        {
            cout << items_class::item_ID[x] << endl;
        }
}
#包括
#包括
使用名称空间std;
类项目\u类
{
公众:
项目_类();
~items_class();
静态整数项_ID[100];
};
int items_class::item_ID[100];//需要在编译单元中定义静态变量。
items\u class::items\u class()
{

对于(int i=0;i之前的答案假设静态变量是您想要的。另一种方法是删除static关键字。然后,在声明项时,删除paren

->
items\u class items;
items\u class items{}
您忘记了C索引是偏移量,因此基于0?基于0,范围可达N-1(包括)!再次进行有点麻烦的解析…
items_-class items();
声明了一个名为
items
的函数,该函数不带参数并返回一个
item_-class
。此外,必须定义静态,而不仅仅是声明静态(但我想你根本不希望它是静态的)