【发布时间】:2009-05-20 13:27:02
【问题描述】:
我有一个非常简单的宏,用于声明异常时的速记。在调试模式下,它会添加当前文件和行号。
我正在修改我的代码以支持 unicode,但每次使用我的宏时突然出现“未声明的标识符”错误。我可能错过了一些非常简单的东西,因为宏本身相当简单。谁能告诉我是什么问题?
这是宏声明:
#ifdef _DEBUG
#define EXCEPTION(msg, mm) Exception(msg, mm, _T(__FILE__), _T(__LINE__))
#else
#define EXCEPTION(msg, mm) Exception(msg, mm)
#endif
我认为不需要,但以防万一,这里是异常构造函数声明:
Exception(LPCTSTR msg, BOOL manageMsg = FALSE, LPCTSTR f = NULL, int l = -1);
在发布模式下编译时我没有收到任何错误,但在调试模式下我会遇到,所以它与 __FILE__ 和 __LINE__ 位有关,但我无法弄清楚实际问题是什么。
【问题讨论】:
-
发布完整的实际错误消息、如何使用宏的示例以及代码中哪一行导致错误的指示。
-
那是完整的错误。这就是为什么我无法弄清楚问题出在哪一部分。错误消息中没有其他内容。
标签: visual-c++ unicode macros