0

1.#define debug(...) printf( __VA_ARGS__)

2.#define debug(...) std::cout<< __VA_ARGS__

明らかに、1 は問題ありませんが、2 はコンパイル時にエラーが発生します。可変引数で「std::cout」を使用する可能性はありますか?

このマクロのポイントは何ですか?

「debug」マクロは、コードをデバッグするために何かを出力するために使用します。

void test(const classtype1 &obj1,const classtype2 &obj2)
{
    // rewrite operator<< 
    debug(obj1,obj2); 

    //if use printf, I must call tostring method(or something likes that) to 
    //series the object to string. 
    debug(obj1.tostring(),obj2.tostring());   

    ...
}
4

1 に答える 1