c++字符串函数返回语句
C++ string function return statement
我试图在返回语句中添加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起可用
相关文章:
- 返回语句后的代码,没有警告
- 三元运算符在返回语句中给出意外的结果
- 返回非 void 的函数中没有返回语句警告
- 如何使用单个返回语句返回对变量的引用
- 当返回语句时,逗号运算符、大括号初始化列表和 std::unique_ptr 组合在一起
- 获取上次执行的返回语句的行
- 如果语句错误地读取字符串,则始终在第一个条件返回
- 如何在 c++ 中从 switch 语句返回不同类型的变量
- Qt SQL LIKE语句返回错误
- C++如果使用 lambda 表达式的语句返回 true,但输出来自 false,为什么
- 为什么返回语句和打印语句返回不同的答案?
- if-else 语句返回相同的反馈
- 为什么此范围基于语句返回一个数字太低的范围
- C++选择语句返回 true
- C++开关语句返回奇怪的值
- 这个语句返回什么
- 空的C++if语句返回零值
- 从if语句返回数据
- If语句返回错误的输出C++
- 返回语句返回一个空指针值而不是期望的值