从中传递数组 我试图创建一个象棋板来将自己重新引入C++。我在向棋盘所在的数组中添加成员函数时遇到问题。 我认为我对问题的理解是错误的

从中传递数组 我试图创建一个象棋板来将自己重新引入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

.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
        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)