Почему я не могу cout строку?
Почему я не могу cout
string
такой:
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; }