【发布时间】:2020-07-29 18:01:11
【问题描述】:
我的主要功能应该是这样的。
int main(int argc, char **argv) {
vector<string> v;
string s;
v.push_back(string("fee"));
v.push_back(string("fi"));
v.push_back(string("foe"));
v.push_back(string("fum"));
join(v, '/', s);
cout << s << '\n';
return 0;
}
我的输出应该是:fee/fi/foe/fum
我做到了:
#include <vector>
#include <iostream>
#include <cstdlib>
using namespace std;
void join(vector<string> v, char c , string s){
for (int i=0; i<v.size(); i++)
cout << v[i];
}
int main(int argc, char **argv) {
vector<string> v;
string s;
v.push_back(string("fee"));
v.push_back(string("fi"));
v.push_back(string("foe"));
v.push_back(string("fum"));
join(v,'/',s);
cout<<s<<'\n';
return 0;
}
我无法打印 '/' 这个字符。我能怎么做? 如何将 char 从 main 函数发送到 join 函数?
cout
【问题讨论】:
-
你“发送”它就好了。你没有用它做任何事情。与
c相关的代码在哪里?此外,将“s”传递给join()的目的是什么,而它也完全没有任何作用?您需要编写 C++ 程序需要执行的所有代码,C++ 不会只为您完成。您的join()不会对它获得的参数做任何事情,也不会对第三个参数做任何事情,所以它们什么也没有发生。很明显第三个参数必须是引用,所以你也需要修复它。如需更多帮助,请参阅您的 C++ 教科书。 -
我相信其意图是
join()不使用cout。所以你可能比你想象的更远离完成你的任务。愿意后退几步,尝试不同的方法。