ATL编译错误,帮忙看看!!!!

z888c 2008-03-28 01:34:55
class _declspec(uuid("AF7D4A4A-E74A-4308-B547-0C84455552F2")) Beeper
: public CComObjectRootEx<CComSingleThreadModel>
, public CComCoClass<Beeper,&CLSID_Beeper>
, public CComObject<Beeper>
, public IBeeper
{
public:
HRESULT _stdcall Beep();
public:

protected:
BEGIN_COM_MAP(Beeper)
COM_INTERFACE_ENTRY(IBeeper)
END_COM_MAP()

DECLARE_CLASSFACTORY()
DECLARE_NOT_AGGREGATABLE(Beeper)
DECLARE_REGISTRY_RESOURCEID(IDR_REG_BEEPER)
};

OBJECT_ENTRY_AUTO(CLSID_Beeper,Beeper)

代码如上,编译时错误如下
正在编译...
beeper.cpp
e:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcom.h(2555) : error C2504: “Beeper”: 未定义基类
f:\zhcen\beeper\beeper\beeper.h(16): 参见对正在编译的类 模板 实例化“ATL::CComObject<Base>”的引用
with
[
Base=Beeper
]
生成日志保存在“file://f:\ZHCEN\Beeper\Beeper\Debug\BuildLog.htm”
Beeper - 1 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========

????????
...全文
112 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
z888c 2008-03-31
  • 打赏
  • 举报
回复
To Jameshooo
明白了,
class Base{};

template <typename T>
class D : public T
{};

class X : public D<X>{};

D继承了X, X又继承了D,结果........!

谢谢!
jameshooo 2008-03-28
  • 打赏
  • 举报
回复
class _declspec(uuid("AF7D4A4A-E74A-4308-B547-0C84455552F2")) Beeper
: public CComObjectRootEx <CComSingleThreadModel>
, public CComCoClass <Beeper,&CLSID_Beeper>
//, public CComObject <Beeper> 这行注释掉
, public IBeeper
z888c 2008-03-28
  • 打赏
  • 举报
回复
大哥,class _declspec(uuid("AF7D4A4A-E74A-4308-B547-0C84455552F2")) Beeper 看清楚啊
美丽海洋 2008-03-28
  • 打赏
  • 举报
回复
Beeper

未定定义

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧