我有一个非常简单的宏,用于声明异常时的简写。在调试模式下,它添加当前文件和行号。简单的宏扩展中的“未声明的标识符”错误
我正在修改我的代码以支持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__位有关的,但我无法弄清楚实际问题是什么。
发布完整的实际错误消息,如何使用宏的示例以及代码中哪一行导致错误的指示。 – 2009-05-20 13:31:12
*是*完整的错误。这就是为什么我无法弄清楚问题的部分原因。错误消息中没有其他内容。 – Herms 2009-05-20 14:02:20