gpt4 book ai didi

c++ - 指定具有特征的模板化类

转载 作者:搜寻专家 更新时间:2023-10-31 01:58:33 26 4
gpt4 key购买 nike

我有一个 struct这表示一个特征:

template<typename T>
struct FooTraits
{
static const NEbool s_implementsFoo = false;
};

我可以用一个类来专门化它,因此:

class Apple {};

template<>
struct FooTraits< Apple >
{
static const NEbool s_implementsFoo = true;
};

但是目前我不能使用FooTraits如果我希望专门研究的类也被模板化,则:

template< typename T >
class Fruit {};

template<>
struct FooTraits< Fruit >
{
static const NEbool s_implementsFoo = true;
};

我应该如何表达这最后一段代码,所以 Fruit< T >s_implementsFoo = true

目前报错如下:

error C3203: 'Fruit' : unspecialized class template can't be used as a template argument for template parameter 'T', expected a real type
error C2955: 'Fruit' : use of class template requires template argument list
see declaration of 'Fruit'
error C2990: 'FooTraits' : non-class template has already been declared as a class template
see declaration of 'FooTraits'

最佳答案

最初我写道,FooTraits 不依赖于模板参数,所以为什么在我意识到我的大脑放屁之前放入模板。那是反对票和评论

你能做到吗?它正在我的机器上编译

template<typename T>
struct FooTraits< Fruit<T> >
{
static const NEbool s_implementsFoo = true;
};

关于c++ - 指定具有特征的模板化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3915758/

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