VS2005为什么生成debug不报错,生成Release就报错的?

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:33:29
#pragma once

#include "MainFrm.h"
#include <sstream>
using namespace std;
// dlg3 对话框

class dlg3 : public CDialog
{
DECLARE_DYNAMIC(dlg3)

public:
dlg3(CWnd* pParent = NULL); // 标准构造函数
virtual ~dlg3();

// 对话框数据
enum { IDD = IDD_DIALOG2 };

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持

DECLARE_MESSAGE_MAP()
public:
CMainFrame *hi;//?????????????????????????错误指向这个
CString namai;
public:
afx_msg void OnBnClickedOk();
};

debug下:正常通过并生成文件

Release下:

1>------ 已启动生成: 项目: tong, 配置: Release Win32 ------
1>正在编译...
1>tong.cpp
1>f:\c++试验\tong\tong\dlg3.h(26) : error C2143: 语法错误 : 缺少“;”(在“*”的前面)
1>f:\c++试验\tong\tong\dlg3.h(26) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\c++试验\

估计你是在项目属性面板里添加的包含文件的路径。而同过这种方式,你需要同时为Debug和Release2种模式都要【分别】进行设置。或者在【所有配置】中设置。
你对比一下Debug和Release的项目属性。

以前也遇到过,后来发现是代码没写对