マクロ関数を使用して以下のコードをどのように記述すればよいですか?
#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_\
}
上記の 3 つのコードのマクロ関数をエラーなしで記述する方法を教えてください。
同じコードにインライン関数を使用しましたが、デバッグ中にインライン関数がインライン関数として扱われていないことがわかったので、この場合はマクロ関数を使用したいと思います。
私が使用したインライン関数は以下のとおりでした:-
inline void WriteLogMessage(LOG_LEVEL szType, LPCTSTR szMessage){
#ifdef LOG_ENABLED
m_logger->Log(szType,szMessage);
#endif
}