Это более или менее копия, вставленная из буст-документации, и я получаю ошибку (на самом деле много ошибок)
Я пытаюсь убедиться, что шаблонный класс используется только с числами, использующими 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: имя типа не может использоваться вне объявления шаблона </p>
Visual Studio 2005, кстати.