我的
代码中有一些下一行:
@H_
301_2@long long max
cpuTime = 4294967296;
(最长的数字类型可以是4294967296 -1,所以我用了很长的)
问题是,当我编译时,我得到下一个错误:
error: integer constant is too large for ‘long’ type
好像,eclips不承认我写了“long long”,它认为我写的是’long’.
(我使用的是linux操作系统)
有谁知道为什么我会收到这个错误?
附加LL:
long long maxcpuTime = 4294967296LL;
那应该可以解决问题. (LL比ll更受欢迎,因为它更容易区分.)
在C99 / C 11之前,long long没有正式添加到标准中.
通常,整数文字将具有保持它的最小类型.但在C99 / C 11之前,标准长期并没有“存在”. (但是大多数编译器都将它作为扩展)因此(在某些编译器下)大于long的整数文字不会得到long long类型.