Я хотел бы объединить 3 следующие строки для получения хороших результатов отладки, используя std :: setw () после.
__ FILENAME__, ":" и LINE
#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
#define AT __FILENAME__ ":" __LINE__
#ifdef DEBUG
#ifdef VERBOSE
#define printDebug(x) std::cout << AT << x << std::flush
#else
#define printDebug(x) std::cout << x << std::flush
#endif
#else
#define printDebug(x)
#endif
Но на самом деле я получаю ошибки о том, что ";"поле отсутствует перед ":".У кого-нибудь есть идея?
Я на самом деле вызываю функцию printDebug () следующим образом:
printDebug("[SUCCESS] Receiving Message");