C ,G 编译错误函数
C++, g++ compiling error function
我无法完成这项工作,它不会被编译,我不知道错误在哪里。你能帮我吗?
我正在创建一个对向量为" n" int数字的程序。
这是代码:
#include <iostream>
#include <vector>
using namespace std;
void selection_sort(vector <int>& v){
int last=v.size() -1;
for(int i=0; i<last; ++i){
int k = min(v, i, last);
//Vector, position "i", and last vector position send to function
swap(v[k],v[i]);//swap positions
}
}
int min(const vector <int>& v, int left, int right){
这是终端的错误:
g++ -o sortinglearn.x sortinglearn.cc
sortinglearn.cc: In function ‘void selection_sort(std::vector<int>&)’:
sortinglearn.cc:14:27: error: no matching function for call to
‘min(std::vector<int>&, int&, int&)’
int k = min(v, i, last);
^
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/ostream:38,
from /usr/include/c++/7/iostream:39,
from sortinglearn.cc:1:
/usr/include/c++/7/bits/stl_algobase.h:195:5: note: candidate:
template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)
min(const _Tp& __a, const _Tp& __b)
^~~
/usr/include/c++/7/bits/stl_algobase.h:195:5: note: template argument
deduction/substitution failed:
sortinglearn.cc:14:27: note: deduced conflicting types for parameter
‘const _Tp’ (‘std::vector<int>’ and ‘int’)
int k = min(v, i, last);
@quentin ty Mate!我已经以某种方式修复了它,在selection_sort
之前宣布函数min
。
相关文章:
- 链接器错误:函数的多个定义
- 编译器错误:函数调用在常量表达式中必须有一个常量值
- 错误:函数声明符之后的预期函数体
- C 错误 - 函数不能超载
- 如何修复传递参数时调用错误函数的主函数?(C++)
- 错误:函数调用中有两个参数
- 错误:函数不是“类”的静态数据成员 - C++
- C ,G 编译错误函数
- CMake 解析错误函数缺少结尾")"。而是找到带有文本的未终止字符串")
- C++ 错误 函数 2 的多重定义
- 错误:函数调用中从int到int(*)[4]的转换无效
- C++14 自动扣除错误:函数返回一个数组
- 视觉C++错误:函数必须返回一个值
- 错误:函数声明中的两种或多种数据类型
- 错误:函数未在作用域中声明
- rtw_android.c错误:函数“strnicmp”的隐式声明[-Weror=隐式函数声明]
- 错误:函数中的return语句没有值,返回“void*”[-fpermission]
- 简单程序中的链接器错误:函数的多重定义
- 错误:函数参数太多
- 错误:函数__tmaincrtstartup中引用的未解析的外部符号_main