没有匹配的调用函数(期望3个参数,实际0个).第一次在c++中处理向量和字符串
No matching function for call (3 arguments expected, 0 actual). Dealing with vectors and strings in C++ for the first time
我正试图编写一个程序,根据文本文件中的数据变得越来越大和越来越小。有三个函数有特定的指令。这是我第一个使用矢量的项目,所以我很困惑。起初,我得到了很多错误信息,但我已经减少到只有一个错误在编译器。
我得到的错误是,在插入函数中没有匹配的函数要调用,候选人期望3个参数,但没有。我已经谷歌的错误,我已经读到,我可能需要一个构造函数,但我似乎不能正确设置它。我看到我需要编辑我的代码来传递三个参数,但我不确定我是否应该在下面的函数中或在main中这样做。
另一个想法是,我可能传递了错误的类型,我谷歌可能是错误的。这是可能的,因为我没有使用vector,可能没有正确传递类型。我也是通过参考来打电话的,这可能不是正确的事情。
如果有人能帮我,我会很感激的。在过去的几个小时里,我一直在用谷歌修复我的错误,但似乎无法修复这个最后的错误(无可否认,这可能是因为几个错误)。谢谢你!#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace std;
void insertFunction(vector<string>, string, int);
void deleteFunction(vector<string>, int);
void printFunction(vector<string>);
int main()
{
vector<string> V;
string command, word;
int position;
ifstream fin;
fin.open("data_2.txt");
if(!fin){
cout << "The file doesn't exist " << endl;
}
else {
while (fin >> command){
if (command == "Insert"){
fin >> word;
fin >> position;
insertFunction(V, word, position);
}
else if (command == "Delete"){
fin >> position;
deleteFunction(V, position);
}
else if (command == "Print"){
printFunction(V);
}
else{
cout << "Error! Command is not recognized" << endl;
}
}
}
return 0;
}
void insertFunction(vector<string>& V, string position, int word){
V.insert();
}
void deleteFunction(vector<string>& V, int position){
V.erase(V.begin()+position);
}
void printFunction(vector<string>& V){
for(int i = 0; i < V.size(); i++){
cout << V[i] << " ";
}
}
V.insert();
insert()
方法是一种社会性很强的方法。它想和参数对话。它喜欢它的参数。它的参数是insert()
的最好朋友。
但是因为你没有为insert()
提供任何合适的参数集,你只是让这个方法非常非常难过。很寂寞。
如果你想让你的insert()
方法快乐,请给它介绍一些好的、礼貌的、友好的参数。比如插入内容的位置和内容
首先你需要指定vector的大小:
vector<string> V(MAX_SIZE);
MAX_SIZE可以是固定的,也可以从文件中获取。您可以简单地使用[]
操作符来插入新元素:
void insertFunction(vector<string>& V, int position, string word) {
V[position]= word;
}
相关文章:
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 我必须构建我的项目 2 次,第一次失败,因为它无法打开库
- 是什么导致我的循环在第一次迭代中运行得更慢
- QLibrary 函数在第一次调用时工作缓慢
- 第一次尝试使用new动态创建结构数组,程序挂起没有错误
- 为什么第一次迭代后的指针指向随机值?
- 如何防止GUI挂起,同时允许第二次操作与Qt中的第一次操作一起执行
- LAPACK函数在第一次迭代后变慢
- 为什么 Boost unordered_map 在第一次插入时需要太多时间?
- EGL 在第一次 opengl 函数调用时崩溃
- 为什么 new 第一次分配 1040 个额外的字节?
- 为什么在使用 select() 时连接到带有第二个套接字的服务器"break"第一次连接?
- 从两个不同的线程同时第一次访问singleton类
- 第一次在一个项目中使用 .h 和多个 .cpp 文件时,错误:(
- 第一次制作了一个跨越几个类的程序,但我在函数调用方面遇到了问题
- c++使用一个函数表示多个变量.只有第一次运行有效
- 一种测试您是否第一次运行多个递归调用 C++ 的方法
- 我的 for 循环第一次正确输入,但第二次不正确,并显示第二个输入的输出。我不明白为什么会这样。
- 没有匹配的调用函数(期望3个参数,实际0个).第一次在c++中处理向量和字符串
- boost::asio系统的无休止循环:第一次连接后出现9个错误