VC7で可変個引数のマクロを作りたいのですが(GCCのような)可能でしょうか?
どこかでVC6は無理だが、7からいけるという記事をみたのですが、
本当でしょうか?
現在
#define AAA(...) \
printf(__VA_ARGS__);
は予期せぬ文字列があります
でエラーになります。
宜しくお願いします。
とりあえず,2005β1日本語版のヘルプではみつかりませんでした。
そもそも,VC++はISO/IEC 9899:1999に準拠していませんから,
可変長マクロはサポート外だと思いますよ。
#define AAA printf
これで我慢?
お返事有難う御座います。
返答に時間がかかり申し訳御座いません。
サポート外なんですか。
多分そうなんでしょうね。ググってみても
全然出てきませんでした。
とりあえず
#define AAA printf
でいきます。
もう一点可変長のAssert(判定を通常のAssertとは逆)を作っていまして
#define TES_ASSERT(exp, ...) \
{ \
if(exp){ \
Assert処理(__VA_ARGS__) \
} \
}
これではinline化は出来ないし、
どなたかご教授頂けませんでしょうか?
#define TES_ASSERT tes_assert
inline void tes_assert(bool exp, ...)
{
if(exp) {
// Assert処理
}
}
とか
aaaさん有難う御座いました。
やっと巧く行きました。
勉強になります。
ツイート | ![]() |