gpt4 book ai didi

c++ - 使用 vector 函数 C++ 后二进制表达式的操作数无效

转载 作者:行者123 更新时间:2023-11-30 03:20:37 25 4
gpt4 key购买 nike

尝试创建与头文件和主函数链接的字符串 vector 函数时似乎存在问题。我使用相同的主文件、头文件和函数文件成功运行了另一个字符串函数。

请记住,我是一名 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'(又名'basic_ostream')和'vector'(又名'vector, allocator >>'))

最佳答案

没有插入 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;

关于c++ - 使用 vector 函数 C++ 后二进制表达式的操作数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52772170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com