为何会出现这错误,该如何该

vcdll 2002-02-12 11:45:43
d:\microsoft visual studio\vc98\mfc\include\afxtempl.h(73) : error C2248: 'id1::~id1' : cannot access protected member declared in class 'id1'
f:\vcpp32\netchat\id11.h(46) : see declaration of 'id1::~id1'
d:\microsoft visual studio\vc98\mfc\include\afxtempl.h(299) : see reference to function template instantiation 'void __stdcall DestructElements(class id1 *,int)' being compiled
Error executing cl.exe.


#include "stdafx.h"
#include "netchat.h"
#include "id11.h"
#include "afxtempl.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// id11

IMPLEMENT_DYNCREATE(id1, CCmdTarget)

id1::id1()
{
name="";
ID=0;
icon=0;

}

id1& id1::operator=(id1& src)
{
if(this != &src)
{
name = src.name;
ID=src.ID;
icon=src.icon;
// repeat for every member variable in the class

}
return *this;
}





/////////////////////////////////////////////////////////////////////////////
// id1 message handlers



BEGIN_MESSAGE_MAP(id1, CCmdTarget)
//{{AFX_MSG_MAP(id11)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
CArray<id1,id1&>m_id1;
/////////////////////////////////////////////////////////////////////////////
// id11 message handlers
...全文
77 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifanxi 2002-02-13
  • 打赏
  • 举报
回复
您一定是把id1类的析构函数做成是protected的了。
改成public的试试.
vcdll 2002-02-13
  • 打赏
  • 举报
回复
我改了可是:
id11.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall id1::~id1(void)" (??1id1@@UAE@XZ)
Debug/netchat.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
lifanxi 2002-02-13
  • 打赏
  • 举报
回复
你改了之后有没有把id::~id()实现一下呀?你上面的程序中没有实现这个函数,只声明不实现,就可能导至Link错误。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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