«Строка» не называет ошибку типа & quot; в затмении cdt

Я добавил новую исходную папку в свой код и создал новый класс с заголовком ниже и файлом 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
и я получаю ошибку Codan в файле cpp Объявление участника не найдено
для конструктора.
Я много раз очищал проект, перестраивал индекс и перестраивал проект, но он не работает. Любая идея?

0

Решение

#include <string.h>

должно быть

#include <string>

string.h заголовок строки C. string заголовок строки C ++

Кроме того, все стандартные заголовки C ++ опускают .h, Даже заголовки C, если они включены из кода C ++, должны иметь префикс c в дополнение к опусканию .h, Например. cstring будет правильным заголовком, чтобы включить, чтобы получить заголовок строки C в C ++.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]