c++错误:初始化器元素不是常量

C++ error: initializer element is not constant

本文关键字:常量 元素 错误 初始化 c++      更新时间:2023-10-16

我不能让这个简单的c++代码工作:

int secInt = 5;
double rubbish = secInt/60;
double factor = floor(rubbish);

我总是从第3行

得到"ERROR: initializer element is not constant"

Factor在日志

中总是返回0.00

有谁能帮我一下吗?我觉得我忽略了一件很简单的事情。

这个错误的例子可以在这里看到:http://ideone.com/2Wrkr9

你的代码应该在你的程序的main部分:

int main()
{
    int secInt = 583;
    double rubbish = secInt/60.0;
    double factor = floor(rubbish);
}

您还应该使用标准的c++头文件,如<cmath>

double rubbish = secInt/60;
应该

double rubbish = static_cast<double>(secInt)/60;

由于secInt =5,所以floor(rubbish)应该是0,即使有上述修正。

如果源文件中没有任何其他函数,则至少应该有一个main函数。main是入口点。

int main()
{
 int secInt = 5;
 double rubbish = static_cast<double>(secInt)/60.0;
 double factor = floor(rubbish);
 return 0;
}

您忘记将代码包含在函数中了。

试试这个。

int main()
{
    int secInt = 5;
    double rubbish = secInt/60.0;
    double factor = floor(rubbish);
}

c++将开始执行名为main的函数中的代码,并从那里调用从main调用的任何函数。