次のように、return ステートメントで文字列に int を追加しようとしています。
string Birthday::asString() {
return this -> day + "/" + this -> month + "/" + this -> year;
}
次のエラーが表示されます。
エラー: 式には整数型または範囲外の列挙型が必要です
私はC ++が初めてです。
あなたがやろうとしていることを行う最も簡単な方法は、 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 以降で利用可能