Я пытаюсь вызвать функцию для объекта, но я получаю эту ошибку.У меня есть два класса: класс судоку и класс головоломки.Класс Sudoku наследует класс Puzzle.Класс Sudoku имеет защищенную переменную, двумерный массив объектов Puzzle Puzzle libraryOfPuzzles[4][10];
Когда я пытаюсь вызвать функцию setSolution для libraryOfPuzzles[][];
, она не работает.Однако, когда я вызываю его на 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();
}
}