我有以下代码:
#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;