当前位置:  开发笔记 > 编程语言 > 正文

使用字符串时的C++未知覆盖说明符

如何解决《使用字符串时的C++未知覆盖说明符》经验,为你挑选了2个好方法。

我现在试图解决这个问题很长一段时间了:

我有以下课程(博士):

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 
   #include "Doctor.h"

   using namespace std;

   int main()
   {
       return 0;
   }

错误C3646'firstName':未知的覆盖说明符

错误C4430缺少类型说明符 - 假定为int.注意:C++不支持default-int

错误C3646'firstName':未知的覆盖说明符

错误C4430缺少类型说明符 - 假定为int.注意:C++不支持default-int

所有在Doctor.h的第5行,我声明了一个字符串变量



1> Abhishek Kum..:

也许

 header is missing.

尝试包括它.

Doctor.h

#ifndef DOCTOR_H_
#define DOCTOR_H_

#include 

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;
}

它工作正常.我测试过了.


以下划线后跟大写字母(`_DOCTOR_H_`)开头的名称和包含两个连续下划线的名称将保留给实现.不要在代码中使用它们.
@abhishekkumar`17.6.4.3.2/1.1每个包含双下划线__或以下划线后跟大写字母(2.12)的名称保留给实现用于任何用途.我建议使用标准文档作为权限什么是保留,什么不是,而不是任意的留言板.

2> CoryKramer..:

你需要#include Doctor.h,你需要的标准命名空间std::string.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有