我的值在我的设置函数中没有改变
My value is not changing in my set function
n
的值正在传递到我的 void Cell::setValue(int value)
函数,但 m_value
没有改变。谁能解释这里出了什么问题?
文件读入
void SudokuPuzzle::readPuzzle(const char filenameIn[]) {
// Add code to read in a puzzle from the text file and store within the SudokuPuzzle object
ifstream inStream;
inStream.open(filenameIn);
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 9; j++)
{
int n;
inStream >> n;
m_grid[i][j].setValue(n);
}
}
在单元格中设置值
void Cell::setValue(int value)
{
m_value = value;
if (m_value = 0)
{
m_given = true;
}
}
例如,当 n
设置为 3
时,它会传递给 value
。
m_value = value
不会将 m_value
设置为 3
。
在这种情况下:
if (m_value = 0)
尽管 m_value
之前被赋予了 value
的值,但在这里被赋予了 0
的值。
您可能打算将 m_value
与 0
进行比较,如下所示:
if (m_value == 0)
如果您打开编译器警告(例如 -Wall
),您将被告知此代码可能是一个错误。
n
的值正在传递到我的 void Cell::setValue(int value)
函数,但 m_value
没有改变。谁能解释这里出了什么问题?
文件读入
void SudokuPuzzle::readPuzzle(const char filenameIn[]) {
// Add code to read in a puzzle from the text file and store within the SudokuPuzzle object
ifstream inStream;
inStream.open(filenameIn);
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 9; j++)
{
int n;
inStream >> n;
m_grid[i][j].setValue(n);
}
}
在单元格中设置值
void Cell::setValue(int value)
{
m_value = value;
if (m_value = 0)
{
m_given = true;
}
}
例如,当 n
设置为 3
时,它会传递给 value
。
m_value = value
不会将 m_value
设置为 3
。
在这种情况下:
if (m_value = 0)
尽管 m_value
之前被赋予了 value
的值,但在这里被赋予了 0
的值。
您可能打算将 m_value
与 0
进行比较,如下所示:
if (m_value == 0)
如果您打开编译器警告(例如 -Wall
),您将被告知此代码可能是一个错误。