我正在尝试这样做:
#include <string>
class Medicine{
string name;
};
但它根本不起作用。我尝试右键单击项目 - &gt;指数 - &gt;搜索未解决的包含,它说:未解决包含在项目中(0匹配)。它也不能用于std :: string。我该怎么办?
答案 0 :(得分:5)
您应该使用其所属的命名空间(string
)完全限定std
:
#include <string>
class Medicine {
std::string name;
// ^^^^^
};
或使用using
声明:
#include <string>
using std::string; // <== This will allow you to use "string" as an
// unqualified name (resolving to "std::string")
class Medicine {
string name;
// ^^^^^^
// No need to fully qualify the name thanks to the using declaration
};
答案 1 :(得分:1)
string
类(标题)是在std命名空间内定义的。您在对象声明中using std::string;
之前缺少std::
或string
。
如果仍然无法解决问题,请查看this answer。
答案 2 :(得分:0)
尝试创建一个新的控制台项目,并将其保存到下面这个简单的代码中。如果这不起作用那么可能你的eclipse没有正确设置c ++。 eclipse c ++环境的默认下载是http://www.eclipse.org/cdt/
#include "stdafx.h"//optional depending if you have precompiled headers in VC++ project
#include <string>
using std::string;
class Medicine
{
string name;
};
// or use this alternative main if one below doesn't work
//int main(int argc, _TCHAR* argv[])
int _tmain(int argc, _TCHAR* argv[])
{
Medicine test;
return 0;
}