Измените действие сборки на «Ресурс». Также неправильный URL-адрес вашего пакета. Либо используйте:
Source="pack://application:,,,/Resource/UserCost2013Open16.png"
, либо просто
Source="/Resource/UserCost2013Open16.png"
Вам нужно включить
#include <string>
#include <iostream>
Выше ответы хорошие, но если вы не хотите добавлять строку 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;
Ниже заголовков
Если в окнах убедитесь, что вы правильно помещаете заголовки #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;
}
using namespace std;
не имеет никакого отношения к цели os, являющейся linux
. Аналогично, добавление .h
в include не имеет ничего общего с целевыми окнами, а #include <iostream>
и #include <string>
будут работать в окнах.
– StaticBeagle
26 May 2017 в 02:10
Как-то вам нужно ссылаться на пространство имен cout std
. Например, вставьте
using std::cout;
using std::endl;
поверх определения вашей функции или файла.
В коде есть несколько проблем:
WordList
нигде не определен. Вы должны определить его, прежде чем использовать его. #include <string>
, прежде чем использовать cout
или endl
. string
, cout
и endl
живут в пространстве имен std
, поэтому вы не можете получить к ним доступ без предварительного префикса std::
, если вы не используете директиву using
, чтобы перенести их в область видимости.
using namespace std
илиusing std::cout
;using std::endl
; – fardjad 12 June 2011 в 09:44string text;
, также в edit (добавлена ошибка) говорится, что это не проблема, а недостающий заголовокstring
. – Kiril Kirov 12 June 2011 в 09:46std::basic_string
(поскольку они косвенно включают в себя определенный в реализации заголовок & lt; xstring & gt; ( никогда не включают это непосредственно я>)). Хотя это позволяет вам использовать класс строк, соответствующийoperator<<
определяется в & lt; string & gt; заголовок, поэтому вы должны включить это вручную. Кроме того, полагаясь на другие заголовки, косвенное включение определенияstd::basic_string
работает в VC ++, но оно не будет работать на всех компиляторах. – Sven 12 June 2011 в 09:59