Почему я не могу cout строку?
Почему я не могу coutstring такой:
string text ;
text = WordList[i].substr(0,20) ;
cout << "String is : " << text << endl ;
когда я это делаю, я получаю следующую ошибку:
Ошибка 2 ошибка C2679: двоичный'
удивительно, что даже этого нет рабочий:
string text ;
text = "hello" ;
cout << "String is : " << text << endl ;
6 ответов:
вам нужно ссылаться на пространство имен cout
stdкак-то так. Например, вставитьusing std::cout; using std::endl;поверх определения функции или файла.
есть несколько проблем с вашим кодом:
WordListнигде не определено. Вы должны определить его, прежде чем использовать его.- вы не можете просто написать код вне такой функции. Вам нужно поместить его в функцию.
- вам нужно
#include <string>прежде чем вы сможете использовать класс String и библиотеки прежде чем использоватьcoutилиendl.string,coutиendlжить вstdпространство имен, так что вы не можете открыть их без приставкиstd::если вы используетеusingдиректива, чтобы сначала ввести их в область действия.
выше ответы хороши, но если вы не хотите добавлять строку include, вы можете использовать следующее
ostream& operator<<(ostream& os, string& msg) { os<<msg.c_str(); return os; }
вы не должны ссылаться
std::coutилиstd::endlявно.
Они оба включены вnamespace std.using namespace stdвместо использования оператора разрешения области действия::каждый раз делает легче и чище.#include<iostream> #include<string> using namespace std;
если вы используете систему linux, то вам нужно добавить
using namespace std;ниже заголовков
если windows, то убедитесь, что вы правильно разместили заголовки
#include<iostream.h>
#include<string.h>обратитесь это он работает отлично.
#include <iostream> #include <string> int main () { std::string str="We think in generalities, but we live in details."; // (quoting Alfred N. Whitehead) std::string str2 = str.substr (3,5); // "think" std::size_t pos = str.find("live"); // position of "live" in str std::string str3 = str.substr (pos); // get from "live" to the end std::cout << str2 << ' ' << str3 << '\n'; return 0; }