从中传递数组 我试图创建一个象棋板来将自己重新引入C++。我在向棋盘所在的数组中添加成员函数时遇到问题。 我认为我对问题的理解是错误的
.cpp文件:从中传递数组 我试图创建一个象棋板来将自己重新引入C++。我在向棋盘所在的数组中添加成员函数时遇到问题。 我认为我对问题的理解是错误的,c++,C++,.cpp文件: #include "spaces.h" #include <iostream> char board::spaceLetter() { return letter; } char board::spaceNumber() { return number; } string board::getColor(board a) { if (a.color() == true) //Also an error but not a big deal
#include "spaces.h"
#include <iostream>
char board::spaceLetter() {
return letter;
}
char board::spaceNumber() {
return number;
}
string board::getColor(board a) {
if (a.color() == true) //Also an error but not a big deal
return "black";
else
return "white";
}
void board::printBoard(board a[][8]) {
for (int i = 1; i <= 8; i++) {
for (int j = 1; j <= 8; j++) {
if (a[i][j].color() == true) { //This is where my problem is
cout << "w";
}
else
cout << "b";
}
cout << endl;
}
}
#包括“spaces.h”
#包括
char board::spaceLetter(){
回信;
}
char board::spaceNumber(){
返回号码;
}
字符串板::getColor(板a){
if(a.color()==true)//也是一个错误,但不是什么大问题
返回“黑色”;
其他的
返回“白色”;
}
空白板::印刷板(板a[][8]){
对于(inti=1;i欢迎来到SO
if(a.color()==true)//也是一个错误,但不是什么大问题
color不是函数。它是一个成员变量。请从color()
中删除()
同样的错误:
if (a[i][j].color() == true)
试着在这里运行代码,看看它是否适合您:将数组传递给成员函数似乎不是很有用或可取的做法。看起来您只是想打印并获取boardSpace
成员。您不应该使用getColor()
?虽然它返回一个字符串
,并且您正在将其与bool
进行比较,但我很好奇为什么使用printBoard()方法
不仅仅是访问board Space
数组,该数组是board
类的私有成员,而不是接受一个属于类board
数组的参数。在我看来,单块8x8板和一个8x8板阵列(每个板都是8x8)有点混淆。谢谢!我感谢您的提问这是一个愚蠢的问题没有愚蠢的问题。但是下次试着进一步探究这个问题。我相信你自己也会看到这个错误。
if (a[i][j].color() == true)