我正在尝试在模板函数中使用默认参数。以下是我正在尝试做的事情的一个最小示例:
在sort.h
template <typename T0, typename T1>
void sort(Vector<T0> &v0,Vector<T1> &v1=0)
{
//sort v0, if (v1 != 0) sort it according to v0
}
在main.cpp
#include "sort.h"
Vector<int> v0;
sort(v0);
这不会编译;编译器给出错误“没有匹配的函数来调用‘排序’”。
基本上这个函数应该对 vector v0(任意数据类型)进行排序。此外,以与 vector v0 相同的方式排序的第二个 vector v1(任意)可以作为参数给出。当然,我可以简单地通过使用重载函数来解决这个问题,但由于我想将附加 vector 列表扩展到最多 5 个,因此我需要数百个不同的函数。
更新:感谢您到目前为止的回复。我已经修改了我的问题描述,以便您更好地了解我正在尝试做什么。
最佳答案
引用不能指向任何内容。
关于c++ - 模板函数中的默认参数 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4400939/