ssstruct AFX_MSGMAP
{
AFX_MSGMAP* pBaseMessageMap;
AFX_MSGMAP_ENTRY* lpEntries;
}#define AFX_MSGMAP_ENTRY _messageEntries[];#define BEGIN_MESSAGE_MAP(theClass,baseClass)\
AFX_MSG theClass::messageMMap = \
{&(baseClass::messageMap),
(AFX_MSGMAP_ENTRY*) &(theClass::messageEntries)};
}
我的问题是:最后一行中为什么要加“&”??本来messageEntries已经是一个指针了,再加&不就是AFX_MSGMAP_ENTRY**了么??那不就不符合第4行要AFX_MSGMAP_ENTRY*了么??
{
AFX_MSGMAP* pBaseMessageMap;
AFX_MSGMAP_ENTRY* lpEntries;
}#define AFX_MSGMAP_ENTRY _messageEntries[];#define BEGIN_MESSAGE_MAP(theClass,baseClass)\
AFX_MSG theClass::messageMMap = \
{&(baseClass::messageMap),
(AFX_MSGMAP_ENTRY*) &(theClass::messageEntries)};
}
我的问题是:最后一行中为什么要加“&”??本来messageEntries已经是一个指针了,再加&不就是AFX_MSGMAP_ENTRY**了么??那不就不符合第4行要AFX_MSGMAP_ENTRY*了么??
解决方案 »
- MFC画矩形重叠后的遮挡问题
- SNMP++使用中出现问题:SNMP: Variable does not exist
- 【求助】请问VC++中如何向已存在的xml文件中添加一个节点?
- 请教我该怎么办啊
- 紧急求救:将分割窗口固定的思路,错在那里??
- CListCtrl 内容怎么不能选中?
- 如何实现抓图的功能?
- 比较基础的东西
- dll的问题,我export一个函数,这个函数的名字叫"Add" 可是我用它来找函数入口地址是0可是我用"Add@@YAHHH@Z"来找地址就可以找到!
- 請教,在scrollview中使用MemDC繪圖,在拖拉scroll bar 時圖像變亂, 如何解決
- 帮忙看一下这个sql语句有没有问题?
- VC中的timer控件在哪里?
#define DECLARE_MESSAGE_MAP()
static AFX_MSGMAP* messageMap;
static AFX_MSGMAP_ENTRY* _messageEntries[];
{
UINT nMessage; // windows message
UINT nCode; // control code or WM_NOTIFY code
UINT nID; // control ID (or 0 for windows messages)
UINT nLastID; // used for entries specifying a range of control id's
UINT nSig; // signature type (action) or pointer to message #
AFX_PMSG pfn; // routine to call (or special value)
};
struct AFX_MSGMAP
{
AFX_MSGMAP* pBaseMessageMap;
AFX_MSGMAP_ENTRY* lpEntries;
};#define DECLARE_MESSAGE_MAP() \
static AFX_MSGMAP_ENTRY _messageEntries[]; \
static AFX_MSGMAP messageMap; \
virtual AFX_MSGMAP* GetMessageMap() const;#define BEGIN_MESSAGE_MAP(theClass, baseClass) \
AFX_MSGMAP* theClass::GetMessageMap() const \
{ return &theClass::messageMap; } \
AFX_MSGMAP theClass::messageMap = \
{ &(baseClass::messageMap), \
(AFX_MSGMAP_ENTRY*) &(theClass::_messageEntries) }; \
AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \
{#define END_MESSAGE_MAP() \
{ 0, 0, 0, 0, AfxSig_end, (AFX_PMSG)0 } \
};
问题:
本来_messageEntries在DECLARE_MESSAGE_MAP宏中的定义是static AFX_MSGMAP_ENTRY _messageEntries[];
就已经是地址了还加&??