2011-12-16 15 views

risposta

7

Il valore della macro __cplusplus deve servire a questo scopo. Sfortunatamente, GCC ha (prima di 4.7) sempre impostato su 1, rendendolo inutilizzabile per questo scopo.

(I valori sono 199711L per C++ 98/03, e 201103L per C++ 11.)

+0

V'è anche il problema che la macro è impostato in modo incoerente. Quale dovrebbe essere il valore per un compilatore che supporta parti di C++ 11? :/ – Xeo

+1

@Xeo: '__GXX_EXPERIMENTAL_CXX0X__' per clang e gcc. – kennytm

+0

@KennyTM: con libstdC++. In clang con '__GXX_EXPERIMENTAL_CXX0X__' non è definito. dovrebbe anche essere rimosso quando C++ 11 non è più sperimentale – Dani

Problemi correlati