Nella MSDN (https://msdn.microsoft.com/en-us/library/ew2hz0yd.aspx) compaiono i seguenti:Le aree condizionali #if possono includere i limiti dei file?
Tutte le direttive condizionale di compilazione, come #if e #ifdef, deve essere abbinato con chiusura #endif direttive prima della fine del file; in caso contrario, viene generato un messaggio di errore. Quando condizionale-compilazione direttive sono contenute in file di inclusione, essi devono soddisfare le stesse condizioni : Non ci devono essere ineguagliate condizionale-compilazione direttive alla fine del file di inclusione.
Bene, semplice e chiaro. Allo stesso tempo non riesco a trovare qualcosa di simile nello standard C++ 11. La mia domanda è questa limitazione legale?
Capisco perfettamente che la divisione della compilazione condizionale su più livelli #include
non è una buona idea e dovrebbe essere evitata.
Qualcuno sa come altri compilatori (GCC, CLANG) gestire questo caso? Forse questo è stato discusso da qualche parte?
È apparentemente chiedi lo standard C++, in modo da non aggiungere tag C. – Olaf
Hai provato cosa succede quando lo fai? – Alex
Bene, questo è rilevante anche per C. Ha standard diversi che possono dire qualcosa di diverso. –