标题:关于CObject的问题,,MFC中的
只看楼主
shendade
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-5-22
结帖率:100%
 问题点数:0 回复次数:2 
关于CObject的问题,,MFC中的
#include "stdafx.h"
#ifndef employ_h
#define employ_h
#include<iostream.h>
//#include<CObject.h>////////这个头文件是什么,下面一句要employ继承它,
class employ:public CObject

还有当我不加#include<CObject.h>时说employ的继承类成员不包含于employ。加上后就只是说不能打开CObject文件了。
请求赐教!!!
搜索更多相关主题的帖子: public include 继承 
2012-06-07 15:58
shendade
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-5-22
得分:0 
在MFC工程中,当我们新建一个源文件并在里面写函数。当函数里面需要用到我们所创建窗体的类的时候,一般我们只需要include该类的头文件,然后在函数里面声明该窗体类的一个对象即可,然后往往会出现这样的编译错误提示:error C2065: 'IDD_DIALOG1' : undeclared identifier (注:IDD_DIALOG1是我所创建窗体的id号)。出现这个原因是没有定义(废话,呵呵),我们知道资源的定义都是在resources.h文件中,所以解决方法也就容易知道:只要include这个资源头文件即可;另外由于工程主文件的头文件中也是包含这个资源文件的,所以另外一种方法是包含这个工程的头文件即可。

摘自网上的一个解决方法:

Usually this happens in the following scenario: you create a new dialog class, with 2 files, let's say MyDialog.h and MyDialog.cpp. In the .cpp file you have only the following includes:

#include "stdafx.h"
#include "MyDialog.h"

By the time you include MyDialog.h, your IDD_DIALOG1 defined in resource.h is not know. You must include that header. So you have several options:

you include the resource file definition in your MyDialog.h
you include the header for your CWinApp derived class, in your source file, before including MyDialog.h

#include "stdafx.h"
#include "MyWinApp.h" // this file includes resource.h
#include "MyDialog.h"
PS: notice this is a very old thread
2012-06-07 21:40
shendade
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-5-22
得分:0 
添加resource.h到对话框的类对象头文件后解决了!!!


// studlg.h : header file
//
#include "stdafx.h"
#include "resource.h" // 很关键的头文件!!!
2012-06-07 21:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-371016-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.092615 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved