【发布时间】:2018-05-20 20:38:48
【问题描述】:
我试图在一个对象上调用一个函数,但我得到了这个错误。我有两个课:数独课和拼图课。 Sudoku 类继承了 Puzzle 类。 Sudoku 类具有受保护的变量,一个 2D 拼图对象数组 Puzzle libraryOfPuzzles[4][10]; 当我尝试在 libraryOfPuzzles[][]; 上调用 setSolution 函数时,它不起作用。但是,当我在函数本身内部创建的Puzzle test[4][10]; 上调用它时,它可以工作。为什么是这样?
void Sudoku::createLibraries(string name) {
Puzzle test[4][10]; //added for demonstration purposes
string fileName = "";
int i = 0;
for (int k = 0; k < 40; k++) {
fileName = name + to_string(k) + ".txt";
string aWord;
ifstream fin;
fin.open(fileName);
i = 0;
int value = 0;
while (!fin.eof()) {
fin >> aWord;
int value = stringToInt(aWord);
libraryOfPuzzles[k / 10][k % 10].setSolution(i / 9, i % 9, value); //this line gives error
test[k / 10][k % 10].setSolution(i / 9, i % 9, value); //this line is fine
i++;
}
fin.close();
}
}
【问题讨论】:
-
在您的问题中包含完整的错误消息,并说明您如何声明
libraryOfPuzzles。