-2 c++
我有一个c ++程序,根据用户输入的内容打开一个url.
这是代码:
#include <iostream>
#include <string>
using namespace std;
int main(){
int i = 1;
string google = "https://www.google.com/search?q=";
string input;
getline(cin, input);
string changeSpace(string input)
{
for (int i = 0; i < text.length(); i++)
{
if (text[i] == ' ')
text[i] = '+';
}
return text;
}
input = changeSpace(input);
cout << input << endl;
string url = string(google + input);
system(string("start " + url).c_str());
cout << url << endl;
}
Run Code Online (Sandbox Code Playgroud)
错误在这里:
string changeSpace(string input)
{
Run Code Online (Sandbox Code Playgroud)
在括号中它表示它预期";"
而且我不知道为什么ocurrs会出错,这可能是一个简单的错误,但我不知道.
请帮我.
你的问题是因为你试图在另一个函数中定义一个函数.你不能这样做.
从C++ 11开始,你可以做的最相似的事就是使用lambda.
int main() {
// stuff...
auto changeSpace = [] (string text) -> string
{
for (int i = 0; i < text.length(); i++)
{
if (text[i] == ' ')
text[i] = '+';
}
return text;
}
input = changeSpace(input);
// stuff...
}
Run Code Online (Sandbox Code Playgroud)
但我敢打赌,这不是代码中唯一的错误.