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

1 c++ string

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

string Birthday::asString() {
    return this -> day + "/" + this -> month + "/" + this -> year;
}
Run Code Online (Sandbox Code Playgroud)

并收到以下错误:

错误:表达式必须具有整数或未整合的枚举类型

我是C++的新手.

izo*_*ica 11

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

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

您收到显示的错误,因为C++不知道如何向字符串添加整数.

编辑:正如M M.的答案中提出的,因为C++ 11还有另一种选择,即使用函数std :: to_string.


mas*_*oud 7

你可以使用std::to_string:

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

从C++ 11开始提供