模板模板参数中的参数无效
Invalid argument in template template parameter
我正在尝试这个简单的template template parameter
示例:
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...
我是否有错误,或者问题出在我的编译器版本中?我在Windows上使用g++和Mingw
这是因为
,尽管有默认参数,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;
}
相关文章:
- std::cin >>上的参数无效
- 结果失败或多个参数无效
- 错误:一元"*"的类型参数无效(具有"int"):使用 mergesort 计算
- 错误 带有模块的一元"*"(具有"int")的类型参数无效
- 由于调用 std::condition_variable 后参数无效而导致应用程序崩溃
- MPI_Iprobe:RMA 调用中的位移参数无效
- 推力::sort_by_key上的配置参数无效
- windres 致命错误:将输出写入时:参数无效
- 一元'*'的类型参数无效(有双精度)
- C++:传递给 C 运行时函数的参数无效
- 矢量模板参数无效
- 写入 -: 参数无效 } 时出错
- winsock2:recvfrom()函数以错误10022(参数无效)结束
- 模板参数的显式指定参数无效,该参数是 constexpr
- 模板参数无效
- 调用 getter 成员时的参数无效
- 模板模板参数中的参数无效
- 方法调用中的参数无效
- POSIX 计时器:参数无效
- C++类模板是一个模板:模板参数无效