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

时间:2013-04-21 02:22:57

标签: c++

我无法使用这个简单的C ++代码:

int secInt = 5;

double rubbish = secInt/60;

double factor = floor(rubbish);

我总是从第3行得到“错误:初始化元素不是常数

因子总是在日志中返回0.00

任何人都可以帮忙解决这个问题,我觉得我忽略了一些非常简单的事情。

此处可以看到此错误的一个示例:http://ideone.com/2Wrkr9

3 个答案:

答案 0 :(得分:2)

您的代码应位于程序的main部分内:

int main()
{
    int secInt = 583;

    double rubbish = secInt/60.0;

    double factor = floor(rubbish);
}

您还应该使用标准C ++标头,例如<cmath>

答案 1 :(得分:1)

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

试试这个。

int main()
{
    int secInt = 5;

    double rubbish = secInt/60.0;

    double factor = floor(rubbish);
}

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

答案 2 :(得分:1)

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;
}