C ++ 11 ENABLE_IF Ошибка - Параметр шаблона повторный декларацияC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C ++ 11 ENABLE_IF Ошибка - Параметр шаблона повторный декларация

Сообщение Anonymous »

Я пытаюсь получить следующий код для компиляции: < /p>

template ::type = 0 >
class Calc
{
public:
int operator()( const T& v ) const {
return v.getValue();
}
};

template
class Calc : CalcBase
{
};
< /code>

В компиляции я получаю следующую ошибку: < /p>

c.cpp:26: error: template parameter 'typename std::enable_if::type '
c.cpp:36: error: redeclared here as 'typename std::enable_if::type '
< /code>

Намерение здесь состоит в том, чтобы выбрать версию Calc, которая переопределяет оператор вызова базового класса, если параметр передачи шаблона является классом. Если пропущенный параметр является фундаментальным типом, то мы выбираем версию Calc, которая не переопределяет функциональность базового класса.
Не могли бы вы помочь мне понять, как я могу работать? < /P>

Подробнее здесь: https://stackoverflow.com/questions/381 ... eclaration
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»