ERROR: unable to find numeric literal operator 'operator""U'?
ERROR: unable to find numeric literal operator 'operator""U'?
我在 Vivado 和 SDK 2017.4 上使用 ARM v7 g++ 编译器。我有相同的代码工作没有任何问题,但现在它在更改与此无关的内容后抛出此错误,显然。我已经撤消了更改,但它仍然抱怨。
../../MicroZed_design9_bsp/ps7_cortexa9_0/include/xparameters.h:557:40: error: unable to find numeric literal operator 'operator""U'
#define XPAR_AXI_TIMER_0_CLOCK_FREQ_HZ 1e+08U
这是从哪里来的?
U
在浮点文字的末尾无效。有效的后缀是 f
或 F
表示 float
,l
或 L
表示 long double
,没有后缀默认为 double
。 U
表示 unsigned
只能用在整数文字的末尾。
因此 1e+08U
无效,因为 1e+08
是浮点文字的语法。指数符号不能用于整数。如果你想要一个 unsigned long
整数,写 100000000UL
.
我在 Vivado 和 SDK 2017.4 上使用 ARM v7 g++ 编译器。我有相同的代码工作没有任何问题,但现在它在更改与此无关的内容后抛出此错误,显然。我已经撤消了更改,但它仍然抱怨。
../../MicroZed_design9_bsp/ps7_cortexa9_0/include/xparameters.h:557:40: error: unable to find numeric literal operator 'operator""U'
#define XPAR_AXI_TIMER_0_CLOCK_FREQ_HZ 1e+08U
这是从哪里来的?
U
在浮点文字的末尾无效。有效的后缀是 f
或 F
表示 float
,l
或 L
表示 long double
,没有后缀默认为 double
。 U
表示 unsigned
只能用在整数文字的末尾。
因此 1e+08U
无效,因为 1e+08
是浮点文字的语法。指数符号不能用于整数。如果你想要一个 unsigned long
整数,写 100000000UL
.