重複の可能性:
C++11 機能のチェック
私は特にnoexcept
、GCC 4.7 の導入により C++11 標準ライブラリに散らばっているように見える仕様のケースに興味があります。この場合、コンパイラのバージョンを検出するだけで十分です。それは移植可能なコードを生成するための最良のメカニズムですか?
#include <system_error>
class server_error_category : public std::error_category
{
public:
virtual const char* name () const { ... }
//
// fails beginning with gcc4.7,
// looser throw specifier ...
// overriding 'virtual const char* std::error_category::name() const noexcept (true)
...
};