2013-08-14 3 views
-1

У меня есть этот код, но он не компилируется правильно. Когда я компилирую этот кодC++ string cout error

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

using namespace std; 

int main() 
{ 
    string stringone; 
    stringone = "abcdef"; 
    cout << stringone << endl; 
    return 0; 
} 

Компилятор говорит мне эту ошибку:

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

+4

Что означает «не работает правильно»? –

+0

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

+0

Не рассчитывайте на стандартные заголовки, чтобы включить другой стандарт заголовки. – chris

ответ

7

Вы должны использовать #include <string>, а также.

+0

О, правда? В книге, которую я использую, не упоминалось, что – AmazingGrace

+0

@AmazingGrace Какую книгу вы используете? –

+2

@ Удивительная Грейс, тогда я был бы осторожен в этой книге. Вот список некоторых [хороших] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). – chris