论坛: 编程破解 标题: 关于对话框指针变量 复制本贴地址    
作者: ejdm [ejdm]    论坛用户   登录
创建了一个Dialog based的类,名为aaa。想在别的类中定义一个指向对话框窗口的指针,用代码 CaaaDlg* m_pDlg;怎么不可以呢?编译时出错提示如下:
error C2143: syntax error : missing ';' before '*'
error C2501: 'CaaaDlg' : missing storage-class or type specifiers
error C2501: 'm_pDlg' : missing storage-class or type specifiers 


地主 发表时间: 08/31 22:17

回复: ricky [ricky]   版主   登录
你好象要在那个定义的前面要有CaaaDlg这个东东的说明

B1层 发表时间: 09/01 09:09

回复: ejdm [ejdm]   论坛用户   登录
我已经在文件开头写了#include "aaadlg.h",可还是不行啊!急死我了,又想不出原因。我把引用头文件的部分贴出来,请各位帮忙看看。

// MySocket.cpp: implementation of the CMySocket class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Talk.h"
#include "MySocket.h"
#include "TalkDlg.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

[此贴被 大约在冬季(ejdm) 在 09月01日10时02分 编辑过]

B2层 发表时间: 09/01 10:22

回复: shesh [shesh]   版主   登录
必须包含在类申明的头文件前面.
你在CPP文件里包含没用.

B3层 发表时间: 09/01 18:33

回复: ejdm [ejdm]   论坛用户   登录
谢谢版主,我已经找到问题的所在了。
并不需要在MySocket.h里#include,只要在MySocket.cpp里#include就可以了,但必须按如下顺序:
#include "stdafx.h"
#include "Talk.h"
#include "TalkDlg.h"
#include "MySocket.h"
在MySocket.h里要用到CTalkDlg,所以TalkDlg.h必须在MySocket.h前面。

B4层 发表时间: 09/01 22:40

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号