1

次のように、return ステートメントで文字列に int を追加しようとしています。

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

次のエラーが表示されます。

エラー: 式には整数型または範囲外の列挙型が必要です

私はC ++が初めてです。

4

2 に答える 2

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 を使用します。

于 2013-04-25T12:28:36.967 に答える
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 以降で利用可能

于 2013-04-25T12:29:55.060 に答える