在以下代码中,无法评估表达式,因为编译器给了我一个错误
#include <iostream>
int main()
{
std::cout<< "Welcome\nto\n\nc++!\n";
// std::cout<< "to c++ ! \n";
double a=2;
double b=2;
double c=3;
double d=4;
double e=5;
double f=6;
double sum;
sum=(a*b%c+d/e-f); // error: invalid operand of types double and double to binary operators%
std::cout <<"Sum is:" << (float) sum;
return 0;
}
我知道 fmod(x,y) 函数可以用于双打,但表达式不会保持不变,是否有其他方法可以做到这一点,或者我需要自己制作一个表达式评估器。如果是这样,那怎么办?我是 C++ 新手,请帮忙,为什么编译器不够智能?