gpt4 book ai didi

c++ - 模板语法模板

转载 作者:行者123 更新时间:2023-11-30 01:11:31 26 4
gpt4 key购买 nike

我对模板的模板有点不知所措。

#include <iostream>

template <class T>
class Foo{
T foobar;
T getFooBar();
};

template <class T>
T Foo<T>::getFooBar(){
return (T) 2.0;
}

template <class T, template<class> class H>
class Bar{
void barbar();
};

template <class T, template<class> class H>
void Bar<T, H<T> >::barbar(){}

int main(int iargc, char *iargv[]){
// do stuff;
}

这不编译,我不明白编译器的错误信息

expected a class template, got ‘H<T>’

最佳答案

正确的语法是只传递 H :

template <class T, template<class> class H>
void Bar<T, H>::barbar() {}
^^

H<T>是具体类型,H本身就是您正在寻找的类模板。

关于c++ - 模板语法模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36040641/

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