偏函数模板特化
partial function template specialization
您好,我想我在这项技术中遗漏了一些东西。试图按照示例进行操作,但以下给了我一个错误: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;
}
您不能对单个成员函数使用部分模板特化 - 需要对整个 class 进行特化(但是,完整的模板特化也可以)。
您好,我想我在这项技术中遗漏了一些东西。试图按照示例进行操作,但以下给了我一个错误: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;
}
您不能对单个成员函数使用部分模板特化 - 需要对整个 class 进行特化(但是,完整的模板特化也可以)。