无法将对象的值写入文本文件 C++

unable to write the value of an object to a text file c++

我是 c++ 的新手,需要一些指导。 我目前有一个 9x9 二维数组,由 "cell" 个对象组成,用于存储单元格值、位置等内容。

我可以使用 int getValue();

方法访问单元格值
int cell::getValue()
{
  return value;
}

我在我的程序中一直使用这种方法,没有出现任何问题,但是,当我尝试将每个单元格的值流式传输到文本文件时,我的问题出现了。

以下是将值流式传输到文本文件的方法:

void SudokuPuzzle::Output() const
{
ofstream fout("sudoku_solution.txt"); // DO NOT CHANGE THE NAME OF THIS FILE
if(fout.is_open())
{
    for(int y = 0; y < 9; ++y)
    {
        for(int x = 0; x < 9; ++x)
        {
            // output each grid value followed by " "
            fout << grid[y][x].getValue() << " ";

        }

        fout << endl;
    }
    fout.close();
}
}

错误发生在行:

fout << grid[y][x].getValue() << " ";

'int cell::getValue(void)': 无法将 'this' 指针从 'const cell' 转换为 'cell &'

编辑:网格定义如下:

cell grid[9][9];

如果需要更多信息,请随时询问。 如有任何帮助,我们将不胜感激!

从提供的代码来看还不是很清楚,但是如果grid是SodukuPuzzle的成员,那么由于Output方法是const,grid在方法内部,这意味着grid[y][x]是const。 cell::getValue 是非常量,因此不能在 const 对象上调用。你可以通过使 cell::getValue const.

来解决这个问题