__cplusplus
C ++ derleyicilerinin desteklenen C ++ standardının sürümüne ayarlaması gereken bir sabit var, bkz.
#if __cplusplus <= 199711L
#error This library needs at least a C++11 compliant compiler
#endif
Visual Studio 2010 SP1'de 199711L olarak ayarlandı, ancak satıcıların, tüm C ++ 11 değişikliklerini içeren standart bir C ++ kitaplığına karşılık (kısmi) derleyici düzeyinde desteğe sahip olmaları durumunda, bunu şimdiden artırmak için bu kadar cesur olup olmayacaklarını bilmiyorum. .
Dolayısıyla, başka bir yanıtta bahsedilen Boost'un tanımları, örneğin C ++ 11 iş parçacıkları ve standardın diğer belirli bölümleri için destek olup olmadığını anlamanın tek mantıklı yolu olmaya devam ediyor.
template <typename... Test> struct compiler_must_support_variadic_templates;
. Bir sözdizimi hatası sorunu hızla ortaya çıkarır. (Bir kenara olarak, uygun bir hata mesajı çok daha iyidir.)