質問: std::string(file) + " " + std::to_string(line) + " " + std::string(format); /* printfで出力 */ printf(str.c_str(), rest...); } } ``` ### 補足情報(言語/FW/ツール等のバージョンなど) 開発環境はUbuntu 16.04, コンパイラはgcc 5.4.0 C++11を使用しています
回答: そもそも論にはなりますが、小文字の名前をつけて、関数と区別の付かないマクロを作ること自体、**得策ではない**と考えます。 というのも、マクロはソースコードの段階で展開されてしまうので、引数などの扱いが通常の関数と違ってくるからです。 「ソースコードの行数を表示する」というマクロならではの操作を行っている以上、全て大文字のマクロらしい名前にすることをおすすめします。