本を読みながらゲームを制作中なのですが、マクロを使うところが出てきて詰まっています。
というものがあって、
という風に書きたいのですが、RECTANGLE_WHIDTHのところでエラーをはいてしまいます。
エラー内容は「')'が必要です」となっています。
他に
という処理も書いているのですが、こちらはちゃんと動いています。
なので、if文での使い方が間違っているのかなと考えました。
定数の中身は動いている処理がある以上関係ないと考え詳細は省いていますが、必要な場合はお手数ですが指示を下さい。詳細を追記します。
また、参考にしている本が古いものなので、もっといい書き方などございましたら、そちらもお願いしたく思います。
どうぞよろしくお願いします。
C++ if文にマクロ
Re: C++ if文にマクロ
一応書いておくと
は、コンパイルエラーになっていないだけで、意図したとおりには動作していないはずです。
マクロを展開すると、 となるわけで、b には *rectangle の幅が入ります。後ろの - MIN_ROOM_SIZE - 4; は効果のない文となります。
エラーではないけど、警告が出ているのではないでしょうか?
マクロを展開すると、 となるわけで、b には *rectangle の幅が入ります。後ろの - MIN_ROOM_SIZE - 4; は効果のない文となります。
エラーではないけど、警告が出ているのではないでしょうか?
とのことなので、アドバイスを差し上げると、マクロを使用せず、インライン関数にした方がよいでしょう。マクロ初めて さんが書きました:もっといい書き方などございましたら、そちらもお願いしたく思います。