0

我在我的代码中添加了一个新的源文件夹,并创建了一个带有以下标题和 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_ */

文件

#include "Environment.h"


namespace daemonWorld {


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

} /* namespace daemonWorld */

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

4

1 回答 1

3
#include <string.h>

应该

#include <string>

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

此外,所有标准 C++ 头文件都省略了.h. 即使是 C 标头,当包含在 C++ 代码中时c,除了省略.h. 例如cstring,在 C++ 中获取 C 字符串标头将是正确的标头。

于 2015-10-21T22:43:01.230 回答