我试图初始化一个unsigned long long int
类型。但是编译器抛出一个错误如何初始化一个无符号的long long类型?
"error: integer constant is too large for "long" type ".
初始化如下所示:
unsigned long long temp = 1298307964911120440;
可有人请让我知道是什么问题,并提出了相同的解决方案。
我试图初始化一个unsigned long long int
类型。但是编译器抛出一个错误如何初始化一个无符号的long long类型?
"error: integer constant is too large for "long" type ".
初始化如下所示:
unsigned long long temp = 1298307964911120440;
可有人请让我知道是什么问题,并提出了相同的解决方案。
首先,确保您的编译器支持long long类型。其次,为该号码添加“ULL”后缀。
尝试用ULL
Q后面添加你的文字值:如何初始化一个unsigned long long类型?
答:用unsigned long long常量!
(添加后缀ULL
到恒定。)
只是为了澄清,'无符号长long'必须是至少64位。 – GManNickG 2010-04-08 06:13:40
@GMan,无符号long long在C++ 0x正式成为ISO C++ 2011之前不需要任何东西。假设头文件和类型都存在,使用来自的uint64_t将更加便于携带。 –
2010-04-08 06:17:36
@Michael:我认为我们谈论的是未来是隐含的,因为杰里说“确保你的编译器支持long long类型”。无论如何,我同意如果我们想强制一个数字正好是64位,那会更好,但是如果我们只想要一个大数量的保证成为至少64位,无符号长整型长'会更好。 – GManNickG 2010-04-08 06:30:51