Проблемы с использованием макроса отладчика - PullRequest
0 голосов
/ 12 июля 2020

Вот код:

void DBG() { cerr << "]" << endl; }
template<class H, class... T> void DBG(H h, T... t) {
    cerr << to_string(h); if (sizeof...(t)) cerr << ", ";
    DBG(t...); }

#ifdef _DEBUG
#define dbg(...) cerr << "LINE(" << __LINE__ << ") -> [" << #__VA_ARGS__ << "]: [", DBG(__VA_ARGS__)
#else
#define dbg(...) 0
#endif

В настоящее время я использую g ++ on vs code на ma c и всякий раз, когда я запускаю свою программу, используя это, и, например, я пишу dbg(10) в основной программе даже не запускается и ничего не делает (ничего не выводит).

Как мне изменить этот код, чтобы он работал на g ++ без необходимости загружать clang? Примечание : я видел, как некоторые люди использовали #ifdef LOCAL вместо #ifdef _DEBUG, но у меня это все равно не работает (ничего не выводит). Как заставить #ifdef LOCAL или #ifdef _DEBUG работать на g ++?

...