【发布时间】:2013-01-16 10:08:11
【问题描述】:
为什么会有这段代码:
constexpr float operator "" _deg(long double d) {
// returns radians
return d*3.1415926535/180;
}
static const float ANGLES[] = {-20_deg, -10_deg, 0_deg, 10_deg, 20_deg};
产生 5 个这样的错误:
错误:无法找到数字文字运算符 'operator"" _deg'
我使用的是 GCC 4.7.3。 (arm-none-eabi-g++,带有-std=c++0x 标志)。
【问题讨论】:
-
你使用的是什么编译器和版本?
-
但在ideone 上也失败了
-
编译器的版本是什么? User defined literals is not properly implemented until gcc 4.7。 ideone 正在使用 gcc 4.5
标签: c++ c++11 user-defined-literals