簡體   English   中英

部分功能模板專業化

[英]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;
}

您不能對單個成員函數使用部分模板專業化-需要專門對整個類進行專業化(但是,完全模板專業化也可以)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM