我现在试图解决这个问题很长一段时间了:
我有以下课程(博士):
Doctor.h:
#pragma once
class Doctor
{
private:
string firstName;
public:
Doctor();
~Doctor();
};
Doctor.cpp:
#include "stdafx.h"
#include "string"
#include "Doctor.h"
using namespace std;
Doctor::Doctor()
{
}
Doctor::~Doctor()
{
}
和我的主要功能:
#include "stdafx.h"
#include <string>
#include "Doctor.h"
using namespace std;
int main()
{
return 0;
}
错误C3646'lirstName':未知覆盖说明符
错误C4430缺少类型说明符 - 假设为int。注意:C ++不支持default-int
错误C3646'lirstName':未知覆盖说明符
错误C4430缺少类型说明符 - 假设为int。注意:C ++不支持default-int
所有在Doctor.h的第5行,我声明了一个字符串变量
答案 0 :(得分:7)
也许
<string> header is missing.
尝试加入它。
Doctor.h
#ifndef DOCTOR_H_
#define DOCTOR_H_
#include <string>
class Doctor{
std::string name;
public:
Doctor();
~Doctor();
};
#endif
Doctor.cpp
#include "Doctor.h"
Doctor::Doctor()
{
}
Doctor::~Doctor()
{
}
Main.cpp的
#include "Doctor.h"
int main()
{
return 0;
}
工作正常。我已经测试了。
答案 1 :(得分:5)
您需要#include <string>
中的Doctor.h
,并且您需要标准名称空间std::string
。