我应该如何使用宏函数编写以下代码?
#ifdef LOG_ENABLED
m_logger->Log(szType,szMessage);
#endif
我做了类似下面提到的事情,它导致了错误:-
#define _LOG_MSG_CND_BEGIN_ #ifdef LOG_ENABLED
#define _LOG_MSG_CND_END_ #endif
#define WriteLogMessage(szType,szMessage) \
{\
_LOG_MSG_CND_BEGIN_\
m_logger->Log(szType,szMessage);\
_LOG_MSG_CND_END_\
}
请让我知道如何为上述三段代码编写宏函数而没有任何错误。
我对同一段代码使用了内联函数,但是在调试时我看到内联函数没有被视为内联函数,所以我想在这种情况下使用宏函数。
我使用的内联函数如下所述:-
inline void WriteLogMessage(LOG_LEVEL szType, LPCTSTR szMessage){
#ifdef LOG_ENABLED
m_logger->Log(szType,szMessage);
#endif
}