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