(https://msdn.microsoft.com/en-us/library/ew2hz0yd.aspx)は、私は、次を参照:例えばの#ifと#ifdefのよう条件エリアにファイルの境界が含まれていますか? MSDNで
すべての条件付きコンパイルディレクティブ、 ファイルの末尾の前にディレクティブ#endifの閉鎖と一致しなければなりません。 エラーメッセージが生成されます。条件付きコンパイル ディレクティブがインクルードファイルに含まれている場合は、同じ の条件を満たす必要があります。インクルードファイルの末尾に適合しない条件付きコンパイル ディレクティブが存在していない必要があります。
まあ、シンプルで明確です。同じことをC++ 11標準では見つけられません。私の質問はこの法的な制限ですか?
私は、いくつかの#include
層にわたる条件付きコンパイルの分割は良い考えではないので、避けてください。
他のコンパイラ(GCC、CLANG)がこのケースをどのように処理しているか知っていますか?多分、これはどこかで議論されたでしょうか?
あなたは明らかにC++標準について尋ねるので、Cタグを追加しないでください。 – Olaf
これを行うと何が起こったのですか? – Alex
これはCにも関係します。それは、何か違うかもしれない異なる標準を持っています。 –