'string'没有命名类型错误"在日食cdt

时间:2015-10-21 22:38:00

标签: c++ std eclipse-cdt stdstring codan

我在我的代码中添加了一个新的源文件夹,并创建了一个带有以下标题和cpp文件的新类

#ifndef ENVIRONMENT_H_
#define ENVIRONMENT_H_

#include <string.h>
using namespace std;

namespace daemonWorld {

class Environment {
    const string objName;
public:
    Environment(const string & name){
        this->objName = name;

    }
    virtual ~Environment();
};

} /* namespace daemonWorld */

#endif /* TEMP_ENVIRONMENT_H_ */

CPP文件

#include "Environment.h"


namespace daemonWorld {


Environment::~Environment() {
    // TODO Auto-generated destructor stub
}

} /* namespace daemonWorld */

我收到一个错误,即字符串不是构造函数和成员变量Obj中的类型 我在cpp文件中得到Codan错误未找到成员声明 对于构造函数。 我有很多次清理项目,重建索引并重建项目,但它不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

#include <string.h>

应该是

#include <string>

string.h是C字符串标头。 string是C ++字符串标题。

此外,所有标准C ++标头都省略了.h。除了省略c之外,即使是C头代码中包含的C头文件也应该以{{1​​}}为前缀。例如。 .h将是包含在C ++中获取C字符串标头的正确标头。