无法将对象的值写入文本文件 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.
来解决这个问题
我是 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.