首页| 论坛| 消息

标题:大家来找茬 ^o^
作者:zhawk
日期:2007-01-26 22:07
内容:

QString s = "Hello";
QByteArray o = s.toAscii();
const char* p1 = o.constData();
const char* p2 = s.toAscii().constData();
上述代码把QString对象转换成字符指针,看上去p1、p2指向的字符串内容应该相同(地址显然是不一样的)。但实际执行结果却是:p1指向字符串 hello ,p2指向无效地址。
这个错误相当隐蔽,我花了半个多小时才想明白,看看你用多长时间 ^o^


#1 [drifthat 01-27 03:42]
哎,s.toAscii().constData()这句话之后那个匿名对象就没了,指针就变成野指针了

回复 发表
主题 版块