在symbian中写了一个函数,其中一个参数为TDes8,函数原型如下
void Test(TDes8 &aData);
然而在调用的时候这样写
HBufC8 *buf=HBufC8::NewL(100);
Test(buf->Des());
却编译不通过,感到挺纳闷的,因为部分buf->Des()的返回值为TPtr8,TPtr8继承TDes8,按道理是安全可以编译通过的
后面实在不行了,我就换了种写法
TPtr8 ptr=buf->Des();
Test(ptr);
竟然编译通过了啊,哈哈,你说奇不奇怪啊,真不知道是什么原因啊。
1911

被折叠的 条评论
为什么被折叠?



