我有以下代码:
#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.
我有以下代码:
#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:: 字符串的情况下,它还有助于保持代码清洁。
考虑到这一点,您的代码应该是:
#include <string>
using namespace std;
#include <boost/thread/tss.hpp>
static boost::thread_specific_ptr<string> _tssThreadNameSptr;