Enums 表达式必须具有算术或非范围枚举类型
这是我第一次尝试一种没有输入的方法。代码如下:Enums 表达式必须具有算术或非范围枚举类型,enums,pi,Enums,Pi,这是我第一次尝试一种没有输入的方法。代码如下: int factorial(int a) { int i = 1, result = 1; while (i <= a) { result = result * i; i++; } return result; } int double_factorial(int a) { int i = 2, result = 1; while (i <
int factorial(int a)
{
int i = 1, result = 1;
while (i <= a)
{
result = result * i;
i++;
}
return result;
}
int double_factorial(int a)
{
int i = 2, result = 1;
while (i <= a)
{
result = result * i;
i = i + 2;
}
return result;
}
long double pi()
{
unsigned long int n = 4294967295;
unsigned long int i = 0;
long double result = 0;
while (i <= n)
{
result = result + (factorial(i) / double_factorial(2 * i + 1));
i++;
}
long double pi = result * 2;
return pi;
}
long double circumference_circle_input_radius(double r)
{
long double C = 2.0 * pi * r; //error: 'pi' expression must have arithmetic or unscoped enum type.
}
当我尝试在这里使用方法pi时,出现了错误。我不理解错误的含义,因此很难理解问题并进行调试。pi是一个函数,而不是一个变量。要在表达式中调用它,需要使用括号:
long double C = 2.0 * pi() * r;
^^
如果没有括号,编译器会认为您试图将函数本身乘以2,这不是一个有意义的操作。pi是一个函数,而不是一个变量。要在表达式中调用它,需要使用括号:
long double C = 2.0 * pi() * r;
^^
如果没有括号,编译器会认为您试图将函数本身乘以2,这不是一个有意义的操作。它是哪种语言?什么是错误?语言C++,但是我的老师在风格和句法方面有点把我们推向C。什么是错误?语言C++,但是我的老师有点把我们推向C的风格和语法。