相关疑难解决方法(0)

C++模板函数的默认值

是否可以在C++中为模板函数的变量定义默认值?

如下所示:

template<class T> T sum(T a, T b, T c=????)
{
     return a + b + c;
}
Run Code Online (Sandbox Code Playgroud)

c++ templates default-value

7
推荐指数
2
解决办法
1万
查看次数

C++ - 带有默认参数的模板模板参数不起作用

所以我有一个表格类:

template <typename T, template <typename T> class Container = std::vector>
class MyArray : Container<T>
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

现在我试图将其实例化为

template <typename T>
class MyClass
{
    MyArray<T> array;
}
Run Code Online (Sandbox Code Playgroud)

这产生了一个错误:

error: type/value mismatch at argument 2 in template parameter list for 'template<class T, template<class T> class Container> class MyArray'
MyArray<T> y;
Run Code Online (Sandbox Code Playgroud)

而它指向>MyArray<T>.

这有什么不对?为什么我没有默认模板参数?

谢谢.

c++ templates class template-templates

2
推荐指数
1
解决办法
475
查看次数