分享

C语言编译时出现的(errorC2632:'long'followedby'long'isillegal

 戴维图书馆 2016-04-26
    在阅读《C Primer Plus》一书时,其程序清单中3.4 print2.c 程序代码中涉及到一个  long long类型函数的问题,在对代码段进行编译时,出现error C2632: 'long' followed by 'long' is illegal  报错。
  原因在于 VC6中所使用的编译器是C90标准的,而此 long long 型是在C99中新加入的(long long int双长整型是C 99扩充的数据类型,同时扩充的还有float_complex,double_complex,long long_complex,bool等),故无法实现编译。
将long long 用 _int64 进行替换,就可以解决了···
代码附上:
########################################################################################
#include <stdio.h> int main (void) { unsigned int un = 3000000000; short end = 200; long big = 65537; long long verybig = 12345678908642; printf ("un = %u and not %d\n", un, un); printf ("end = %hd and %d\n", end, end); printf ("big = %ld and not %hd\n", big, big); printf ("verybig = %lld and not %ld\n", verybig, verybig); return 0; }
########################################################################################

truncation from 'const __int64' to 'long'

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多