1

这里的总菜鸟有大约 2 个月的 C++ 经验(没有其他背景),所以对我来说放轻松。

我正在为编程任务编写战舰游戏。游戏网格是 15X20,我试图将网格作为类的私有成员变量player

我的问题是:

如果类player有一个私有成员变量:

char playgrid[15][20];

是否有任何理由将访问器函数定义为:

char getgrid(int index1, int index2)
{
    return playgrid[index1][index2];
}

行不通?

它正在我的头脑中。我得到的错误是:

c2065:“playgrid”未声明的标识符

它指向return playgrid[val1][val2]访问器定义中的行。

在试图弄清楚这一点时,我已经成功地使用我的 getter 从其他私有成员变量中提取值,因此在创建对象后,其他一切都在对象中正常工作。我绝对没有拼错任何东西或滥用大小写。在我的构造函数中,playgrid 初始化如下:

int i, j;

for (i=0; i<15; i++)
{
    for (j=0; j<20; j++)
    {
        playgrid[i][j]='o';
    }
}

是什么赋予了?

4

1 回答 1

4

是否有任何理由将访问器函数定义为:

char getgrid(int index1, int index2)
{
return playgrid[index1][index2];
}

行不通?

是的。像这样声明的函数不会是类的成员函数。你可能是说

char player::getgrid(int index1, int index2)
{
    // ...
}
于 2010-09-25T12:14:00.347 回答