gpt4 book ai didi

c++ - 模板模板参数中的参数无效

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

我正在尝试这个简单的 template 模板参数 示例:

template <typename T, template <typename> class Cont>
class Stack {
//...
private:
Cont<T> s_;
};



int main(){
Stack<int,std::vector> aStack1;

}

当我尝试编译时,编译器报错:error type mismatch at argument 2 in template parameter list...

是我有错误还是问题出在我的编译器版本上?我在带有 Mingw 的 Windows 上使用 g++

最佳答案

这是因为,尽管有默认参数,std::vector 有 2 个模板参数 ( template < class T, class Alloc = allocator<T> > )。以下代码工作正常:

#include <vector>

template <typename T, template <typename> class Cont>
class Stack {
//...
private:
Cont<T> s_;
};

template <typename T>
using my_vector = std::vector<T>;


int main(){
Stack<int,my_vector> aStack1;

}

关于c++ - 模板模板参数中的参数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21784913/

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