これはブースト ドキュメントから多かれ少なかれコピーして貼り付けたものであり、エラーが発生し続けます (実際には多くのエラーが発生します)。
テンプレート クラスがブーストを使用して数値でのみ使用されるようにしようとしています。これは、数値のみを使用するテンプレート クラスを作成するのではなく、boost の演習です。
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/is_arithmetic.hpp>
using namespace boost;
template <class T>
class A<T, typename enable_if<is_arithmetic<T> >::type> // <-- this is line 9
{
int foo;
};
int main() {
return 0;
}
最初のいくつかのエラー C2143: 構文エラー: ';' がありません '<' の前: 9 行目 C2059: 構文エラー: '<' : 9 行目 C2899: テンプレート宣言の外では typename を使用できません
Visual Studio 2005 ところで。