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

时间:2013-04-25 12:26:23

标签: c++ string

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

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

并收到以下错误:

  

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

我是C ++的新手。

2 个答案:

答案 0 :(得分:11)

最简单的方法是使用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。

答案 1 :(得分:7)

您可以使用std::to_string

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

自C ++ 11以来可用