Ответ 1
Вы должны использовать std::string
поскольку она находится в пространстве имен std
.
У меня есть следующий код:
#include <string>
#include <boost/thread/tss.hpp>
static boost::thread_specific_ptr<string> _tssThreadNameSptr;
Я получаю следующую ошибку
g++ -c -I $ BOOST_PATH tssNaming.h
tssNaming.h: 7: ошибка: "строка" не была объявлена в этой области
Но я включил строку в свой #include
.
Вы должны использовать std::string
поскольку она находится в пространстве имен std
.
string
находится в пространстве имен std
. У вас есть следующие варианты:
using namespace std;
после включения и включения всех имен std
: тогда вы можете написать только string
в своей программе.using std::string
после включения включить std::string
: тогда вы можете написать только string
в своей программе.std::string
вместо string
Я считаю, что в том числе:
using namespace std;
Ваш код C++ экономит много времени при отладке, особенно в таких ситуациях, как ваша, где требуется std :: string, а также поможет поддерживать ваш код в чистоте.
Учитывая это, ваш код должен быть:
#include <string>
using namespace std;
#include <boost/thread/tss.hpp>
static boost::thread_specific_ptr<string> _tssThreadNameSptr;