掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
switch文中のマクロ (ID:59035)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
一般的な以下の書き方のマクロをswitch文中で使った時に #define MACRO(arg1, arg2) do { \ /* ... */ \ } while(0) switch(hoge) { case 0: MACRO(1,2); 別の処理; break; ・・・ } マクロ内でcase 0:自体をbreakしたいと思ってbreak文を書いても、 do{}while(0)をbreakしてしまうため、「別の処理」を実行してし まいます。 とりあえず今はそういう場合だけdo{}while(0)を使わない以下のよ うなマクロを書いて解決しているのですが、 #define MACRO(arg1, arg2){ \ /* ... */ \ } もうちょっとスマートな解決方法はないでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.