如何解决错误说"No matching function call for XXX"?
How to resolve error says "No matching function call for XXX"?
为什么在赋值行语句中出现"调用'getVector'时没有匹配函数"错误?
template <typename T>
vector<T> getVector(int);
int main() {
auto myVector = getVector(5);
...
}
template <typename T>
vector<T> getVector(int size) {
...
}
看看编译器是怎么说的!它试图帮助你。
main.cpp:7:21:错误:调用"getVector"没有匹配的函数
然后:
main.cpp:4:16:注意:忽略了候选模板:无法推断模板参数
'T' std::vector<T> getVector(int);
错误非常明显:编译器看到了getVector
函数,但您从未提到用"具体"类型来代替T
:编译器不知道您希望向量包含什么,所以它只是忽略了该函数模板。
你想在向量中存储什么样的值?例如整数?然后:
auto myVector = getVector<int>(5);
^ give a type here
您将getVector()
定义为接受模板参数T
的函数模板。需要以某种方式提供该模板参数。如果没有推导或显式提供T
,就无法调用函数。
例如,如果返回的向量包含整数,则可以为T
提供int
,如下所示:
auto myVector = getVector<int>(5);
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- "no matching function for call to 'Vector::Vector'"错误
- 我在 ifstream input_file(文件名)行中收到错误"no matching function to call";
- 为什么当我在 std::string 中打开文件名的 fstream 时出现"no matching function"错误?
- 从 TVector2 类派生复杂类:"No matching function for call to Complex::Complex()"
- 学习 c++,编译错误"no matching function for call"
- C++ "error: no matching function"
- 尝试实例化模板类的对象时出现"No Matching Constructor"错误
- 结构错误:"no matching function for call to "
- 创建函数变体向量时"No matching function for call"错误
- 为什么"std::isdigit"在 Windows 上报告C++"no matching overloaded function"
- 编译时二叉搜索树错误的反向迭代器表示"no matching function call for operator=()"
- 如果子类中没有构造函数方法,则错误"no matching function for call to 'LGame::LGame(String&)'"
- 提升多精度浮点数128:标准::exp错误:'no matching function for call'
- "error: no matching function for call to",我无法更改结构的定义
- 替换派生对象向量中的对象"no matching function to call"
- 我的程序显示许多错误,"error: no matching function for call to 'getPercentScore'"
- 为什么即使我定义了它们"no matching overload found"也会出现错误
- 为什么有一个指向此代码行(第 7 行)的"no matching call for function"错误?