【发布时间】:2021-02-08 23:35:11
【问题描述】:
示例代码(t50.c):
#pragma fenv_access (on)
float d = 0.0 + 0.0;
int main(void)
{
return 0;
}
调用:
$ cl t50.c /fp:strict
Microsoft (R) C/C++ Optimizing Compiler Version 19.25.28611 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
t50.c
t50.c(2): error C2099: initializer is not a constant
问题:为什么#pragma fenv_access (on) 会导致error C2099: initializer is not a constant?原因/动机是什么?
是不是因为#pragma fenv_access (on)cl不允许进行常量折叠?
【问题讨论】:
标签: c visual-c++ floating-point initialization cl