标签:c
我收到了错误
error: 'INT32_MAX' was not declared in this scope
但我已经包括在内了
#include
我正在使用该命令编译(g(GCC)4.1.2 20080704(Red Hat 4.1.2-44))
g++ -m64 -O3 blah.cpp
我需要做任何其他事情才能编译吗?还是有另一种C方式来获得常量“INT32_MAX”?
谢谢,如果有什么不清楚,请告诉我!
解决方法:
#include //or
#include
std::numeric_limits<:int32_t>::max();
请注意< cstdint>是一个C 11标题和< stdint.h>是一个C头,包含与C标准库的兼容性.
以下代码工作,自C 11.
#include
#include
#include
struct X
{
static const std::int32_t i = std::numeric_limits<:int32_t>::max();
};
int main()
{
switch(std::numeric_limits<:int32_t>::max()) {
case std::numeric_limits<:int32_t>::max():
std::cout << "this code works thanks to constexpr\n";
break;
}
return EXIT_SUCCESS;
}
标签:c
来源: https://codeday.me/bug/20190926/1818675.html