c++字符串函数返回语句

C++ string function return statement

本文关键字:语句 返回 函数 字符串 c++      更新时间:2023-10-16

我试图在返回语句中添加int到字符串,如下所示:

string Birthday::asString() {
    return this -> day + "/" + this -> month + "/" + this -> year;
}

并得到以下错误:

错误:表达式必须是整型或无作用域枚举类型

最简单的方法是使用ostringstream(在标题<sstream>中找到):

string Birthday::asString() {
    std::ostringstream out;
    out << this -> day << "/" << this -> month << "/" << this -> year;
    return out.str();
}

您正在获得您显示的错误,因为C++不知道如何将整数添加到字符串中。

编辑:如M. M.建议。c++ 11以来的答案是,还有另一个选择,即使用函数std::to_string。

您可以使用std::to_string:

string Birthday::asString() {
     return std::to_string(this->day) + "/" +
            std::to_string(this->month) + "/" +
            std::to_string(this->year);
}

c++ 11起可用