找回密码
 注册
快捷导航
查看: 428|回复: 10

【求助】C++编译问题。

 关闭 [复制链接] |自动提醒
阅读字号:

186

回帖

0

积分

1312

资产值

入门会员 Rank: 1

注册时间
2003-3-27
铜牌荣誉勋章(注册8年以上会员)
发表于 2007-12-16 22:29:21| 字数 203| - 中国–广东–深圳–南山区 电信 | 显示全部楼层 |阅读模式
悬赏50资产值已解决
代码如下
va_list arg;
va_start (arg, szOutPath);

if ( NULL != arg ) //这个地方为什么不能与空比较?
{
}
va_end(args);

以前在老的hp机器,IBM上编译都不报错,现在HP安腾上面就报错!

老的hp的操作系统是hp_ux11.00 或者11.11,IBM是 AIX4.3.
hp安腾用的操作系统好像是hp_ux11.23

求各位C++高手指教一下是什么问题?可以怎么修改。

2万

回帖

4

积分

5万

资产值

中级会员 Rank: 2Rank: 2

注册时间
2004-5-5
发表于 2007-12-16 22:31:25| 字数 11| - 中国–江苏–苏州–常熟市 电信 | 显示全部楼层
我不知道,我是路过的。
一切可以用以下四点解释:
1.RP
2.阴谋
3.幻觉
4.平行世界
回复 支持 反对

使用道具 举报

1099

回帖

68

积分

8183

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-4-15
发表于 2007-12-16 22:34:00| 字数 98| - 中国–广东–深圳 电信 | 显示全部楼层
代码不够详细,va_start (arg, szOutPath);传递的两个参数是什么类型?va_start (arg, szOutPath);是个函数声明呀,怎么下面还有语句呢?
lz能否贴的详细一些呀?
回复 支持 反对

使用道具 举报

1万

回帖

76

积分

1万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2004-5-4
发表于 2007-12-16 22:46:47| 字数 184| - 中国–广东–深圳 电信 | 显示全部楼层
va_list arg;
va_start (arg, szOutPath);
if ( NULL != arg ) //这个地方为什么不能与空比较?
{
}
va_end(args);
===========================
arg 是自定义数据类型(或者类?)va_list
这个类型是如何定义的?
报的是什么错,就是在NULL那个语句吗?
编译器换了吗?

C++还真不是很懂,权且当C看吧
小时候妈妈对我讲,大海就是我故乡,海风吹呀海浪漂,漂流四方~~~
回复 支持 反对

使用道具 举报

1万

回帖

1

积分

5534

资产值

初级会员 Rank: 1

注册时间
2007-1-3
发表于 2007-12-16 22:56:22| 字数 18| - 中国–广东–东莞 电信 | 显示全部楼层
换一块CPU试试,也许这块是残疾呢。
回复 支持 反对

使用道具 举报

2万

回帖

3

积分

5116

资产值

初级会员 Rank: 1

注册时间
2005-8-8
铜牌荣誉勋章(注册8年以上会员)
发表于 2007-12-16 23:06:48| 字数 35| - 中国–广东–广州 电信 | 显示全部楼层
不会C++的人飘过......
要是python的话,还可以看一下...
向死而生
一粒砂中三千界 合目内观礼毗卢
茶气氤氲尘内外 何须槽场问生熟
回复 支持 反对

使用道具 举报

186

回帖

0

积分

1312

资产值

入门会员 Rank: 1

注册时间
2003-3-27
铜牌荣誉勋章(注册8年以上会员)
 楼主| 发表于 2007-12-17 08:27:43| 字数 41| - 中国–广东–深圳–南山区 电信 | 显示全部楼层
报错的地方就是

if ( NULL != arg ) //这个地方为什么不能与空比较?
这一句。。
回复 支持 反对

使用道具 举报

1004

回帖

1

积分

6584

资产值

初级会员 Rank: 1

注册时间
2003-9-29
铜牌荣誉勋章(注册8年以上会员)
发表于 2007-12-17 09:35:27| 字数 252| - 中国–广东–深圳 电信 | 显示全部楼层
va是c语言的variable-argument(可变参数),可以查看/usr/include/目录下va_list.h和stdarg.h。va_start,va_arg,va_end是在stdarg.h中被定义成宏的。由于硬件平台和编译器的不同,所定义的宏也有所不同。在VC++中stdarg.h里x86平台中va_list被定义成char*,有一些平台或操作系统定义为void*。所以造成LZ遇到的情况。可以把void* arg强制转换char*类型。或者通过C++泛型+多态性实现参数个数可变的函数。
源于第一故乡,归于第二故乡
回复 支持 反对

使用道具 举报

1万

回帖

108

积分

6万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-2-1
银牌荣誉勋章(注册10年以上会员)
发表于 2007-12-17 09:35:53| 字数 6| - 中国–广东–珠海 电信 | 显示全部楼层
忘了!~~~
走走,停停,看看,停停,走走,看看
回复 支持 反对

使用道具 举报

1万

回帖

103

积分

4340

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2005-1-3
铜牌荣誉勋章(注册8年以上会员)
发表于 2007-12-17 09:38:40| 字数 7| - 中国–北京–北京 互联通 | 显示全部楼层
编程BC飘过~
我家有个招财猫~
回复 支持 反对

使用道具 举报

1797

回帖

0

积分

2359

资产值

入门会员 Rank: 1

注册时间
2003-1-7
铜牌荣誉勋章(注册8年以上会员)
发表于 2007-12-17 10:42:17| 字数 97| - 中国–江西–赣州 电信/江西理工大学 | 显示全部楼层
QUOTE:
Posted by gbzqh on 2007-12-17 08:27
报错的地方就是

if ( NULL != arg ) //这个地方为什么不能与空比较?
这一句。。


直接写作:
if(arg)
{}
不就妥了吗 ?
liiucong@hhstu@just@shu
THINKPAD R30
THINKPAD T60
THINKPAD X30
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2025-11-12 02:06 , Processed in 0.093965 second(s), 43 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|在线留言|专门网

返回顶部