uint64_t
类型在32位平台上没有被定义的保障,而像下面这样的代码:
int main() {
uint64_t i = 0;
}
可能会导致编译错误,类型为不完整类型
。
是否有预处理指令来检查uint64_t
是否存在?还有其他检查定义的方式吗?
uint64_t
类型在32位平台上没有被定义的保障,而像下面这样的代码:
int main() {
uint64_t i = 0;
}
可能会导致编译错误,类型为不完整类型
。
是否有预处理指令来检查uint64_t
是否存在?还有其他检查定义的方式吗?
我认为一个合理的方法是检查相关的宏UINT64_MAX
是否被定义,例如:
#include <cstdint> /* don't forget to include */
...
#ifdef UINT64_MAX
...
#endif