是否可以在C++中为模板函数的变量定义默认值?
如下所示:
template<class T> T sum(T a, T b, T c=????)
{
return a + b + c;
}
Run Code Online (Sandbox Code Playgroud) 所以我有一个表格类:
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>.
这有什么不对?为什么我没有默认模板参数?
谢谢.