MFC在自己定义的头文件中如何引用对话框自己生成的头文件?对话框引用对话框的头文件就不错
个人定义的头文件引用对话框的头文件就会报错,这是怎么回事呢?报错内容:errorC2065:IDD_ORANGE_DIALOG':undeclaredidentifier...
个人定义的头文件引用对话框的头文件就会报错,这是怎么回事呢?
报错内容:error C2065: IDD_ORANGE_DIALOG' : undeclared identifier,而IDD_ORANGE_DIALOG 是系统自己生成的啊(enum { IDD = IDD_ORANGE_DIALOG });这不有点扯嘛,它自己生成的这样一句话,结果包含头文件的时候就是因为这句话而报错 展开
报错内容:error C2065: IDD_ORANGE_DIALOG' : undeclared identifier,而IDD_ORANGE_DIALOG 是系统自己生成的啊(enum { IDD = IDD_ORANGE_DIALOG });这不有点扯嘛,它自己生成的这样一句话,结果包含头文件的时候就是因为这句话而报错 展开
1个回答
展开全部
这个一点都不扯。。。
系统自己生成的,同样需要声明的支持,只不过,在MFC框架里面,这些支持是给你写好的。
比如那个ID,是在resource.h中定义的。
一般来说,在自定义头文件中使用对话框类,比较合理和安全的办法,就是将对话框类cpp文件首部全部的包含include,按照原有顺序全部复制过来,放在自定义的CPP文件首部,并且在包含自定义头文件之前。(注意,是放在CPP文件,而不是.H文件),并且,在每个使用自定义头文件的地方,都使用这个包含顺序。
这样的好处,就是不会产生重复包含和相互包含的问题。当然也可以写在.H文件中,同样要保证,在包含对话框.H之前有其它必要的包含文件。
系统自己生成的,同样需要声明的支持,只不过,在MFC框架里面,这些支持是给你写好的。
比如那个ID,是在resource.h中定义的。
一般来说,在自定义头文件中使用对话框类,比较合理和安全的办法,就是将对话框类cpp文件首部全部的包含include,按照原有顺序全部复制过来,放在自定义的CPP文件首部,并且在包含自定义头文件之前。(注意,是放在CPP文件,而不是.H文件),并且,在每个使用自定义头文件的地方,都使用这个包含顺序。
这样的好处,就是不会产生重复包含和相互包含的问题。当然也可以写在.H文件中,同样要保证,在包含对话框.H之前有其它必要的包含文件。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询