Подтвердить что ты не робот

Ошибка C2679: двоичный '<<': оператор не найден, который принимает правый операнд типа 'std::string' (или нет приемлемого преобразования)

Вот мой код, как я могу исправить эту ошибку?

#include "stdafx.h"
#include <iostream>

using namespace std;

int main()
{
    string title = "THE WORLD OF PIRATES";
    cout << title << endl;
    cout << " Welcome to the world of pirates";

    cin.get();

    return 0;
}

Ошибка

binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)
4b9b3361

Ответ 1

Вы забыли #include <string>

используя std::string, не включая заголовок, работает на некоторых компиляторах, которые косвенно импортируют части <string> в свои <iostream> или другие заголовки, но это не стандартно и на них не следует полагаться. Также они часто ломаются, когда вы пытаетесь вывести строку, поскольку они включали только часть реализации и пропускают часть, которая реализует operator<<.