我正在尝试做一个简单的数学问题,但我不断收到此错误消息。怎么了?我正在使用cloud9 ide。
/home/ubuntu/workspace/Sphere.cpp:在“ int main()”函数中: /home/ubuntu/workspace/Sphere.cpp:20:63:错误:无效的操作数 类型为“ int”和“ const char [15]”的二进制文件“ operator <<” cout <<“圆的面积是:” << 3.14 * meters ^ 2 <<“ meters squared” << endl;
这是完整的代码:
#include <iostream>
using namespace std;
int main() {
// Declare the radius
int meters;
cout << "Please enter the radius in meters: ";
cin >> meters;
// Calculate Diameter
cout << "The diameter of the circle is: " << meters*2 << "m" << endl;
//Calculate Area
double PI;
PI = 3.14;
cout << "The area of the circle is: " << 3.14*meters^2 << "meters squared" << endl;
}
答案 0 :(得分:6)
在C ++中,^
运算符的含义不是不是。这意味着对两个整数值进行按位XOR运算。
并且由于^
的{{3}}比<<
低,因此编译器将您的语句解释为
((cout << "The area of the circle is: ") << (3.14*meters)) ^
((2 << "meters squared") << endl);
迷上2 << "meters squared"
应该做什么。
通常,C ++具有precedence用于求幂。但是,仅对一个数字求平方是个过大的杀伤力,最好仅将那个数字与其自身相乘:
std::cout << "The area of the circles is: " << 3.14*meters*meters
<< " meters squared" << std::endl;