DECLARE_MESSAGE_MAP()中的疑问,请帮忙,谢谢!

inside1 2001-08-17 10:19:20
MFC的消息映射DECLARE_MESSAGE_MAP()宏定义中

#define DECLARE_MESSAGE_MAP() private: static const AFX_MSGMAP_ENTRY _messageEntries[];
_messageEntries是什么类型的变量? 指针or数组?以下程序为何编译错误?

class Cls {
static const char a[];
};

static const char Cls::a[] = {'a','b'};

void main(void)
{}
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
inside1 2001-08-17
  • 打赏
  • 举报
回复
去掉static的确可以编译了,可我还是不明白这种定义用法。
inside1 2001-08-17
  • 打赏
  • 举报
回复
_messageEntries是一个结构,还是结构数组,或是一个指向结构的指针?
对static const AFX_MSGMAP_ENTRY _messageEntries[]这种定义用法,我很迷惑。
stoneyrh 2001-08-17
  • 打赏
  • 举报
回复
还真没想过
我想应该是个数组吧
要是指针的话是不允许象BEGIN_MESSAGE_MAP中初始化的
static const char Cls::a[] = {'a','b'};
应该不要static
不知道行不行,试一下吧

dcz 2001-08-17
  • 打赏
  • 举报
回复
_messageEntries 是一个结构,里面存放消息映射项目的数值。

编译错误可能出现在
static const char Cls::a[] = {'a','b'};
吧,这里似乎不需要再使用 static 关键字。

16,551

社区成员

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

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

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