gpt4 book ai didi

C++模板偏特化成员函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:49:30 28 4
gpt4 key购买 nike

<分区>

我是模板的新手,所以这可能是一件微不足道的事情,但我无法让它发挥作用。我正在尝试获得类成员函数的部分特化。最短的代码是:

template <typename T, int nValue> class Object{
private:
T m_t;
Object();
public:
Object(T t): m_t(t) {}
T Get() { return m_t; }
Object& Deform(){
m_t*=nValue;
return *this;
}
};

template <typename T>
Object<T,0>& Object<T,0>::Deform(){
this->m_t = -1;
return *this;
}

int main(){
Object<int,7> nObj(1);
nObj.Deform();
std::cout<<nObj.Get();
}

我尝试使用非成员函数,效果很好。成员函数的完全特化也能正常工作。

但是,每当我尝试使用部分规范时。一个成员函数我得到以下形式的错误:

PartialSpecification_MemberFu.cpp(17): error: template argument
list must match the parameter list Object<T,0>& Object<T,0>::Deform().

非常感谢任何帮助:-)

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com