如题。
我将#include "UserLogon.h"(CUserLogon是自定义的对话框类)放在stdafx.h中就出现:
错误 error C2065: “IDD_LOGON”: 未声明的标识符。
可是放在App类的头文件中就不会错,如下代码(是App头文件)
#pragma once
#ifndef __AFXWIN_H__
#error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"
#endif
#include "resource.h" // 主符号
#include "UserLogon.h"//我自定义的对话框类的头文件
// CQQApp:
// 有关此类的实现,请参阅 QQ.cpp
//
class CQQApp : public CWinApp
{
public:
CQQApp();
// 重写
public:
virtual BOOL InitInstance();
// 实现
DECLARE_MESSAGE_MAP()
public:
CUserLogon m_UserLogon;
};
extern CQQApp theApp;
或者是放在App的实现文件中也不会出错,我想问一下这是为什么?在什么时候自定义类的头文件可以放在stdafx.h中呢?
我将#include "UserLogon.h"(CUserLogon是自定义的对话框类)放在stdafx.h中就出现:
错误 error C2065: “IDD_LOGON”: 未声明的标识符。
可是放在App类的头文件中就不会错,如下代码(是App头文件)
#pragma once
#ifndef __AFXWIN_H__
#error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"
#endif
#include "resource.h" // 主符号
#include "UserLogon.h"//我自定义的对话框类的头文件
// CQQApp:
// 有关此类的实现,请参阅 QQ.cpp
//
class CQQApp : public CWinApp
{
public:
CQQApp();
// 重写
public:
virtual BOOL InitInstance();
// 实现
DECLARE_MESSAGE_MAP()
public:
CUserLogon m_UserLogon;
};
extern CQQApp theApp;
或者是放在App的实现文件中也不会出错,我想问一下这是为什么?在什么时候自定义类的头文件可以放在stdafx.h中呢?
要在include你的头文件之前加入resource.h。
我一般这么做,不涉及resource.h的头文件,如果比较短,就加入到stdafx.h