поток << set_of_dices.dies [die] .getStringRow (row) << ""; - PullRequest
0 голосов
/ 28 августа 2010

При попытке запустить приложение в Visual Studio 2010 появляется следующая ошибка:

Ошибка 1: ошибка C2679: двоичный файл «<<»: не найден оператор, который принимает правый операндтипа «const std :: string» (или нет приемлемого преобразования) new folder \ setofdices.cpp 55 1 test1 </p>

И функция:

   //Overload of the operator '<<' to enable printing the set of dices directly using "cout << my_set_of_dices;"
ostream &operator << (ostream &stream, const SetOfDices &set_of_dices)
{
    for(int row=0; row<DICE_MAX_ROWS; row++)
    {
        for(int die=0; die<set_of_dices.nDices; die++)
            stream << set_of_dices.dies[die].getStringRow(row) << "   ";
        stream << endl;
    }
    for(int n=0; n<set_of_dices.nDices; n++)
        stream << "  " << (n+1) << ":" << set_of_dices.dies[n].getDieValue() << "     ";

    stream << endl;
    return stream;
}

Какможно это исправить?

Спасибо.

1 Ответ

4 голосов
/ 28 августа 2010

Вы, вероятно, забыли #include <string>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...