vendredi 29 juin 2018

C++ Break out of a function at an early stage

I have two questions. The first is about working with functions. I need to break out of a function at an early stage under a condition.

For example:

std::string concat(std::string& x, std::string& y, std::vector<std::string>& vec)
{
    if (atoi(x.c_str()) < 0)
    {
        return;
    }
    else {
        std::string concatStr = y + x;

        top_back(vec);
        top_back(vec);

        return concatStr;
    }
}

As you can see, the function must return a string, but if the string x(which i of course convert to int) is less than 0, then i theoretically should break out of the function.

The problem with writing just return; is that the compiler tells me that it needs to return a value.

The second question is how can i remove the last line from the console? That's connected with the first question, as someone suggested that return ""; is a good workaround, but it writes a blank space into the console, which in my case with the program i'm writing is not good and causes problems.

Aucun commentaire:

Enregistrer un commentaire