找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3471|回复: 2

编译问题

[复制链接]
发表于 2008-1-14 21:13:49 | 显示全部楼层 |阅读模式
1>正在编译...
1>NSServer.cpp
1>c:\vs.net\ace_wrappers\ace\task_t.h(165) : error C2248: 'ACE_Task_Base::ACE_Task_Base' : cannot access private member declared in class 'ACE_Task_Base'
1>        c:\vs.net\ace_wrappers\ace\task.h(278) : see declaration of 'ACE_Task_Base::ACE_Task_Base'
1>        c:\vs.net\ace_wrappers\ace\task.h(66) : see declaration of 'ACE_Task_Base'
1>        This diagnostic occurred in the compiler generated function 'ACE_Task<_ACE_SYNCH>::ACE_Task(const ACE_Task<_ACE_SYNCH> &)'
1>        with
1>        [
1>            _ACE_SYNCH=ACE_MT_SYNCH
1>        ]
已经查明,但不知道怎么改?
是我在程序里面有一个这样的操作!
list<SBServer> m_lsSBServerPool;
SBServer sbserver;
m_lsSBServerPool.push_back(sbserver);
如果注释push_back这一行就没有问题了!
不知道大家有没有什么办法?
 楼主| 发表于 2008-1-14 21:14:20 | 显示全部楼层
貌似只能用指针,看看Task_T.h里的这一段:

private:

  // = Disallow these operations.
  ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Task<ACE_SYNCH_USE> &))
  ACE_UNIMPLEMENTED_FUNC (ACE_Task (const ACE_Task<ACE_SYNCH_USE> &))

显然拒绝拷贝构造函数啊
 楼主| 发表于 2008-1-14 21:14:30 | 显示全部楼层
可它有一个有参数的构造函数,可以不用传参数的!

ACE_Task :  

ACE_Task (ACE_Thread_Manager *thr_mgr = 0,
            ACE_Message_Queue<ACE_SYNCH_USE> *mq = 0);

ACE_Task_Base:

ACE_Task_Base (ACE_Thread_Manager * = 0);

都是public的!
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-23 12:52 , Processed in 0.039052 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表