嵌套if语句中的左值错误

时间:2014-04-05 02:35:20

标签: c++

这个程序适用于一个类,我只是尝试从文件输入数据并使用该数据进行一些计算。程序通过多个数据集输出每个数据集。输出还会增加输出数据集的数量。它最终会出现在" test"左侧的数字。我试图在每10个数据集暂停循环,并提示用户按“输入”键。继续审查数据集。我使用嵌套的if语句来执行此操作,但我的编译器返回错误,我不知道为什么。这是循环的代码。我已经初始化了#test; 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);
              }
    }

1 个答案:

答案 0 :(得分:2)

if(testNum % 10 = 0) 

应该是

if(testNum % 10 == 0) 

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

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