greatldl 发表于 2006-3-15 18:07:20

继续求教: gcc 4.0反而不如3.0 ?

在下新换的系统 Fed0ra Core4 系统用的是gcc 4.0.0但是我在装zhcon的时候,编译报错:
fblinear24.cpp: In member function ‘virtual void FBLinear24::RevRect(int, int, int, int)’:
fblinear24.cpp:127: 警告:‘dest32’ 上的运算结果可能是未定义的
fblinear24.cpp:128: 警告:‘dest32’ 上的运算结果可能是未定义的
fblinear24.cpp:129: 警告:‘dest32’ 上的运算结果可能是未定义的
fblinear24.cpp:132: 警告:‘dest32’ 上的运算结果可能是未定义的
fblinear24.cpp:134: 警告:‘dest16’ 上的运算结果可能是未定义的
fblinear24.cpp:139: 警告:‘dest16’ 上的运算结果可能是未定义的
fblinear24.cpp: In member function ‘virtual void FBLinear24::DrawChar(int, int, int, int, CharBitMap*)’:
fblinear24.cpp:206: 错误:赋值的左值无效
fblinear24.cpp:210: 错误:赋值的左值无效

我用red hat9 的时候没出现过这个问题啊 看了看代码也没发现什么不妥的地方啊难道gcc 3 能遍过的 gcc 4 编不过?   :(

zhy2111314 发表于 2006-3-19 22:19:04

可能要求的gcc版本没这么高

VirusCamp 发表于 2006-3-24 21:41:33

gcc 4 的语法要求比 gcc 3 严格了许多, 这不能说是不如吧?

最常见的错误就是:
赋值的左值无效 , error assing left value
基本上都是如下语法:

((u32)v) ++
((u32)v) = 23123

之类的, 先转值 再 = 或 ++ -- , 很多的是一个转值宏.
页: [1]
查看完整版本: 继续求教: gcc 4.0反而不如3.0 ?