博客园丁

我是博客园的一丁,我会永不停顿,不停创新。
posts - 99, comments - 117, trackbacks - 19, articles - 22
   :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
今天和朋友(_安安︶ㄣ共同探讨了一下关于TPtr类型的成员变量的赋值问题
让我们非常吃惊的是
当一个类中有一个Public的TPtr类型成员变量时
无法在构造函数中为其赋值

测试代码如下:
//类声明
class CUappBrowser : public CBase
    {
    
public:
        CUappBrowser() ;
        
~CUappBrowser();
    
public:
        TPtr iCode;
    }; 
//类定义
CUappBrowser::CUappBrowser()
    {
    iCode.Append(_L(
"Fuck"));
    }
CUappBrowser::
~CUappBrowser()
    {
    }
//类调用
    CUappBrowser* browser = new (ELeave) CUappBrowser() ;
但是在类定义中出现错误“cannot construct CUappBrowser's direct member 'iCode'”
不过如果是TInt类型就可以这样赋初值
真是百思不得其解

有遇到过同样问题的朋友们,可以留下你宝贵的建议

Feedback

#1楼    回复  引用    

2007-05-08 14:53 by tyler_cncq [未注册用户]
因为TPtr没有一个默认构造函数,这么写应该可以解决问题
CUappBrowser::CUappBrowser()
:iCode(0,0)
{
iCode.Append(_L("Fuck"));
}

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接: