включить метод, основанный на логический параметр шаблона


Я хочу реализовать частная функция в зависимости от параметра логический шаблон. Что-то вроде этого:

#include <iostream>using namespace std;template <bool is_enabled = true>class Aggregator {public:    void fun(int a) {        funInternal(a);    }private:    void funInternal(int a, typename std::enable_if<is_enabled>::type* = 0) {        std::cout << "Feature is enabled!" << std::endl;    }    void funInternal(int a, typename std::enable_if<!is_enabled>::type* = 0) {        std::cout << "Feature is disabled!" << std::endl;    }};int main(){   Aggregator<true> a1;   Aggregator<false> a2;   a1.fun(5);   a2.fun(5);   return 0;}

Но программа не компилируется: ошибка: Нет Тип по имени 'тип' в 'структуре с std::enable_if' пустота funInternal(инт а имя_типа и std::enable_if::тип* = 0).

Можно ли реализовать желаемое поведение с enable_if?