struct数组不会改变

时间:2012-09-05 10:24:30

标签: c++ arrays struct

我的一个类中有一个struct数组,它本身有一个设置方法。

struct key
{
     int x;
     int y;
};

class myClass
{
    key theKeys[9];
    void setup();
};    

在设置方法中我会浏览它们但它们保持不变

void myClass::setup()
{
    for (int i = 0; i < 9; i++)
    {
        theKeys[i].x = i;
        theKeys[i].y = i - 1;
        cout << theKeys[i].x << " " << theKeys[i].y << endl;
    }
}

将返回

0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0

我做错了什么? 请记住,这不是我项目中的实际代码,但它几乎相同。


解决了:WOOPS,我修好了。我不打算详细说明,但实际上它正在工作,但是cout没有正确设置,因此它打印了尚未设置的错误打击。

1 个答案:

答案 0 :(得分:0)

这样可行。

在main myClass mc;中创建myClass的实例。进行函数/方法调用以设置:mc.setup();

#include <iostream>
using namespace std ;


struct key
{
     int x;
     int y;
};

class myClass
{
    public:
        key theKeys[9];
        void setup();
};    

void myClass::setup()
{
    for (int i = 0; i < 9; i++)
    {
        theKeys[i].x = i;
        theKeys[i].y = i - 1;
        cout << theKeys[i].x << " " << theKeys[i].y << endl;
    }
}


int main()
{
    myClass mc;
    mc.setup();


return 0;
}