C ++错误没有这样的文件或目录

时间:2010-10-06 07:16:21

标签: c++

嘿伙计们,我刚刚开始学习C ++,我有这个代码,我必须完成,但是类标题给了我这个错误

错误:字符串:没有这样的文件或目录

#include <vector>
#include <string>

class Inventory
{
public:
    Inventory ();
    void Update (string item, int amount);
    void ListByName ();
    void ListByQuantity ();
private:
    vector<string> items;
};

3 个答案:

答案 0 :(得分:5)

您的代码应该看起来更像这样:

#include <string>
#include <vector>

class Inventory {
public:
    Inventory();
    void Update(const std::string& item, int amount);
    void ListByName();
    void ListByQuantity();
private:
    std::vector<std::string> items;
};

如果#include <string>实际上是您的include指令,那么您可能正在将该文件编译为c程序。编译器通常通过文件扩展名来确定语言。你的文件命名是什么?

答案 1 :(得分:3)

我认为您的错误与命名空间无关。

你说你得到错误:字符串:没有这样的文件或目录这意味着预编译器找不到STL字符串定义文件。如果你还包括向量并且没有问题,这是不太可能的。

您应该检查编译输出,以获取有关从哪里挑选头文件的线索。你有可能发布完整的编译输出吗?

答案 2 :(得分:2)

使用using std::string(不推荐)或将string替换为std::string

或者,如果我误解了,请使用#include <string>代替#include "string"

vector同样适用于std名称空间。