嵌套 if 语句中的左值错误

lvalue error in nested if statement

本文关键字:错误 if 语句 嵌套      更新时间:2023-10-16

这个程序是针对一个类的,我只是尝试从文件中输入数据并使用该数据进行一些计算。程序通过多个数据集输出每个数据集。输出还会增加要输出的数据集的数量。它最终出现在一个表格中,左侧有"测试"编号。我正在尝试在每 10 个数据集上暂停循环,并提示用户按"输入"以继续查看数据集。我正在使用嵌套的if语句来执行此操作,但是我的编译器返回错误,我不知道为什么。下面是循环的代码。我在循环之前将"testNum"初始化为 0。

while(carFile)
    {
       milesPG = miles / gallons;
       testNum = testNum + 1;
       totalAllTestMPG = totalAllTestMPG + milesPG;
       totalAllGal = totalAllGal + gallons;
       totalAllMiles = totalAllMiles + miles;
       cout << fixed << showpoint << setprecision(2);
       cout << setw(3) << testNum;
       cout << setw(9) << gallons;
       cout << setw(9) << miles;
       cout << setw(7) << milesPG << endl;
       carFile >> gallons >> miles;
            if(testNum % 10 = 0)           // <---error occurs here 
              {
                cout << "Press enter to continue.";
                getline (cin, proceed);
              }
    }
if(testNum % 10 = 0) 

应该是

if(testNum % 10 == 0) 

= 是赋值运算符,而 == 是相等运算符。

错误是因为testNum % 10是右值,而(不正确的)赋值需要左操作数作为左操作数。