尝试创建与头文件和主函数链接的字符串向量函数似乎存在问题。我成功运行了另一个具有相同主文件,标头文件和函数文件的字符串函数。
请记住,我是一名C ++初学者,并且我一直在寻找其他帖子一个小时的解决方案。我对代码的任何建议也将不胜感激。
标题:
#ifndef splitter
#define splitter
#include <iostream>
#include<string>
#include<vector>
#include<cctype>
using std::cout;using std::endl;using std::cin;
using std::vector;
using std::string;
vector<string> split (const string &s, char separator=' ');
#endif
主要:
#include"functions.h"
#include <iostream>
using std::cout;using std::endl;using std::cin;
#include<string>
using std::string;
#include<vector>
using std::vector;
int main() {
cout << split("test", 'a') << endl;
return 0;
}
功能:
#include "functions.h"
#include <iostream>
#include<string>
#include<vector>
using std::cout;using std::endl;using std::cin;
using std::vector;
using std::string;
vector<string> split(const string &s, char separator) {
vector<string> thing;
thing.push_back(s);
return thing;
}
我的错误消息:
对二进制表达式('std :: __ 1 :: ostream'(aka'basic_ostream')和'vector'(aka'vector,allocator>>')无效的操作数
答案 0 :(得分:2)
没有将std::vector<std::string>
插入cout
的功能。因此,线
cout << split("test", 'a') << endl;
是个问题。更改为:
auto res = split("test", 'a');
for ( auto const& item : res )
{
std::cout << item << " ";
}
std::cout << std::endl;