linux c++编译:error: expected initializer before y1

在把win上面别人c++代码移植到linux上面的时候,编译时出现此奇怪的错误;

错误如下:

xxxxx.cpp:379:20: error: expected initializer before ¡®y1¡¯
   unsigned __int64 y1, y2, y3, z1, z2, z3;
                    ^
xxxxx.cpp:381:3: error: ¡®y1¡¯ was not declared in this scope             -----------上面不就是定义吗?
   y1 = (z << 4) + a;
   ^


按照网上找的资料弄了半天,问题依旧!


既然说没定义,怀疑是不是 __int64  有问题?

__int64定义如下:

typedef long long __int64;
typedef unsigned long long UINT64;


unsigned __int64好像有点怪怪的,不就是无符号64位吗?

直接使用UINT64  或者 unsigned long long 不就得啦?


后来把unsigned __int64 替换为UINT64之后问题解决,即如下:

UINT64 y1, y2, y3, z1, z2, z3;





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值