如何初始化unsigned long long类型?

Suj*_*jay 12 c c++ types

我正在尝试初始化一个unsigned long long int类型.但编译器抛出错误

"error: integer constant is too large for "long" type ".

初始化如下所示:

unsigned long long temp = 1298307964911120440;
Run Code Online (Sandbox Code Playgroud)

任何人都可以让我知道问题是什么,并提出相同的解决方案.

cod*_*ict 20

尝试用你的文字值后缀 ULL


Jer*_*fin 11

首先,确保您的编译器支持long long类型.其次,为数字添加"ULL"后缀.

  • @GMan,unsigned long long不必是任何东西,直到C​​ ++ 0x正式成为ISO C++ 2011.假设标题和类型都存在,使用<inttypes.h>中的uint64_t会更加轻松. (5认同)

Did*_*set 5

问:如何初始化unsigned long long类型?

答:使用无符号长长常数!

(ULL为常量添加后缀.)