如果你不使用#include“some.h”的话,就会说你的CSome没有定义,CSome是你自己写的CLASS吧?
解决方案 »
- _LINE_ ,_FILE_ 问题
- 关于如何使子窗口重绘的问题
- 很急的一个问题, 从一个tomcat网站下载中文文件,怎么转换为GBK编码?
- 请问一下,怎么样在VC中使用OpenGL ES 2.0模拟器
- VC++ ado初级问题。。求教高手!
- 高分求解JPEG2000的渐现问题
- 关于隐藏显示MDI中菜单,工具栏,切分窗口的问题!!!
- 请问在VC中的清屏函数是什么?
- 如何给分呢?
- 奇怪错误问题50分求解
- hedayu(:)) !!!!!!!!你的意思是不是要另外新建一个工程和原来的工程平级再把Chs.h include 到ChessView等中
- 这个问题困扰我很就了,自定义的类如何include进别的文件,这个问题和我昨天提的问题(Chs.h/cpp)有关,我的分不多了,只能给这点了,各位大虾帮帮我
#include"some.h"和class CSome;的异同! ,不好意思,呵呵:Q ;
实现是在*.cpp
1、在你的CANOTHER.CPP中有用SOME类的地方前加include"some.h",后面在定义这个类的实例:CSOME XXX。
2、如果你手工在CANOTHER.CPP中加CLASS CSOME::......当然就不用CLASSWIZARD定义类,就不会有SOME.CPP SOME.H等文件,也不用INCLUDE...
但这样程序结构有点乱!
具体是这样的:
这是一个类的hpp:#if !defined(AFX_DRAWTOOL_H__59B6E7BD_1F35_40B7_B186_C922203680B9__INCLUDED_)
#define AFX_DRAWTOOL_H__59B6E7BD_1F35_40B7_B186_C922203680B9__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000enum DrawTool
{
selection,
line,
rect
};
class CDrawTool
{
public:
CDrawTool(enum DrawTool tool);
CDrawTool();
virtual ~CDrawTool();
virtual void OnLButtonDown(CWorkAideView* pView, UINT nFlags, const CPoint& point); static CPtrList drawtools;
static CDrawTool* FindTool( enum DrawTool tool);
static CPoint pntOri;
static BOOL mousedown;
static CPoint pntCur;
static CPoint pntOld;
static enum DrawTool curtool;
enum DrawTool m_tool;
};#endif // !defined(AFX_DRAWTOOL_H__59B6E7BD_1F35_40B7_B186_C922203680B9__INCLUDED_)
出的错有一条:error C2061: syntax error : identifier 'CWorkAideView'
于是我在这个文件里加了#include “WorkAideView.h"
编译时又错了
...\workaideview.h(21) : error C2143: syntax error : missing ';' before '*'
...\workaideview.h(21) : error C2501: 'CWorkAideDoc' : missing storage-class or type specifiers
...\workaideview.h(21) : error C2501: 'GetDocument' : missing storage-class or type specifiers后来看了msdn,看到有sample在文件前加class xxx;
与是我就删掉了#include “WorkAideView.h",改为:class CWorkAideView;
编译通过了!我想知道为什么,以及在什么时候用哪一个?
当你申明的是CWorkAideView m_view时是#include “WorkAideView.h"
前者不需要编译构造函数.后者则相反.
class CWorkAideView是告诉编译器分配一个可以指向类的指针空间给m_pView;
但是CPP中就要加上#include “WorkAideView.h"了.