0
Привет, я думаю, что я что-то упустил с помощью этой техники. Попробовал следовать примерам, но следующие дает мне сообщение об ошибке: invalid use of incomplete type ‘class Citizen<T, minAge, maxAge, true>’
частичная функция шаблон специализация
template <typename T, T minAge, T maxAge, bool isarmed>
class Citizen {
public:
Citizen(T health, T age);
Citizen(T health, T age, T attackPower);
T getAttackPower();
private:
T _health;
T _age;
T _attackPower;
};
template <typename T, T minAge, T maxAge>
T Citizen<T, minAge, maxAge, true>::getAttackPower() {
return _attackPower;
}
Затем, как это сделать, без изменения интерфейса класса? – tomtom
Как это сделать, используя выражение enable_if_t? – tomtom
@tomtom Какова ваша реализация в случае 'isarmed == false'? Вы, вероятно, могли бы объединить оба, и не использовать частичную специализацию вообще. – Eugene