c++程序中出现未知错误

Unknown error in c++ program

本文关键字:未知 错误 程序 c++      更新时间:2023-10-16

我有一个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;
}

错误在这里:

string changeSpace(string input)
{

在括号中,它说它需要一个";"

我不知道为什么会出现这个错误,这可能是一个简单的错误,但我不知道。

请帮帮我。

您的问题是因为您试图在另一个函数中定义函数。你不能那样做。

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...
}

c++中不允许函数嵌套。参考这个:c++我们可以在函数里面有函数吗?

在你的代码中使用system(string("start " + url).c_str());,你应该包括<cstdlib>return 0