Ошибка C2679 бинарный “<<”: не найден

207
09 июля 2018, 23:00

Изучаю C++ по книге, и при написании такого кода

#include "stdafx.h"
#include <iostream>
using namespace std;
char askYesNo1();
char askYesNo2(string question);
int main()
{
    char answer1 = askYesNo1();
    cout << "Thanks for answering: " << answer1 << "\n\n";
    char answer2 = askYesNo2("Do you wish to save your game?");
    cout << "Thans for answering: " << answer2 << "\n";
    system("pause");
    return 0;
}
char askYesNo1()
{
    char response1;
    do
    {
        cout << "Please enter 'y' or 'n': ";
        cin >> response1;
    } while(response1 != 'y' && response1 != 'n');
    return response1;
}
char askYesNo2(string question)
{
    char response2;
    do
    {
        cout << question << " (y/n): ";
        cin >> response2;
    } while(response2 != 'y' && response2 != 'n');
    return response2;
}

Возникает ошибка "Ошибка C2679 бинарный "<<": не найден оператор, принимающий правый операнд типа "std::string" (или приемлемое преобразование отсутствует)" в этой функции:

char askYesNo2(string question)
    {
        char response2;
        do
        {
            cout << question << " (y/n): ";
            cin >> response2;
        } while(response2 != 'y' && response2 != 'n');
        return response2;
    }

Код пишу в Visual Studio.

Answer 1

Вот эта строка:

cout << question << " (y/n): ";

Выводит объект типа std::string, который определён в заголовке <string>, там же определён соответствующий оператор вывода (operator<<), поэтому нужно подключить этот заголовок:

#include <string>

Иначе компилятор не знает, где ему взять этот оператор, о чём сообщение об ошибке и говорит.

READ ALSO
Что выполняют данные участки кода?

Что выполняют данные участки кода?

Собственно сами участки кода:

195
Как передать кнопку в слот QT

Как передать кнопку в слот QT

У меня есть кнопка button_one и слот Paint_orb который по сигналу Clicked делает вот что :

151
Как в Qt создать кастомный элемент для QListView\QListWidget

Как в Qt создать кастомный элемент для QListView\QListWidget

Необходимо создать список виджетов (большой), в каждом виджете списка имеются кнопки\чекбоксы и тд

160