【发布时间】:2010-05-31 06:26:35
【问题描述】:
当我为 Visual C++ 项目的头文件添加包含保护时,它给了我以下警告和错误:
警告 C4603: '_MAPTEST_H' : 宏未定义或预编译头使用后定义不同
将宏添加到预编译头而不是在这里定义
.\MapTest.cpp(6) : use of precompiled header** // 预编译头 stdafx.h 包含在这一行中
.\MapTest.cpp(186):致命错误 C1020:意外 #endif
但是当我在包含保护之前添加预编译头时,不会发出警告或错误。这是什么原因?
【问题讨论】:
-
你能发布最小数量的代码来重现这个问题吗?
-
以下划线开头后跟另一个下划线或大写字母的标识符是保留的,不要使用它们。
-
#ifndef _MAPTEST_H #define _MAPTEST_H #include "stdafx.h" _MAPTEST_H 是包含保护名称。当我将预编译的头文件放在宏定义之前时,工作正常。
-
抱歉发帖不那么可读:(
-
@GMan:谢谢,好像是这样:)
标签: c++ visual-c++ inclusion