未声明的标识符错误c ++,我做错了什么我不知道?

时间:2013-09-02 03:02:52

标签: c++ class header

我在运行此项目时遇到此错误

  6 error C2065: 'Engine_in':undeclared identifier

我真的不知道我做错了什么。通常我可以弄明白并知道我做错了什么,但我没有深入研究单独的文件类。老实说,我不知道错误来自哪里。我用谷歌搜索了它,但每个人的问题都是具体的,所以这就是为什么我要求你解决我的问题。我提前为我道歉并不太了解。

我有这个类'Engine_debug.cpp'

//Engine Debugger

#include<iostream>
#include "Engine_debug.h"
#include "Engine_in.h"

using namespace std;

Engine_debug::Engine_debug()
{
    Engine_in input;
}

然后我有这个标题'engine_debug.h'

#ifndef Engine_debug_H
#define Engine_debug_H

class Engine_debug
{
    public:
        Engine_debug();
    protected:
    private:
}

#endif

我也有这个类'Engine_in.cpp'

//Engine input

#include<iostream>
#include<string>
#include "Engine_in.h"

using namespace std;

Engine_in::Engine_in()
{

}

string askYN(string question, int format)
{...working code}

还有一个,另一个标题'Engine_in.h'

#ifndef Engine_in_H
#define Engine_in_H

class Engine_in
{
    public:
        Engine_in();
        std::string askYN(std::string question, int format = 0);
    protected:

    private:
};

#endif

如果有人知道我做错了什么,并想向我解释,请做,谢谢。

1 个答案:

答案 0 :(得分:1)

如果不是拼写错误,则在定义成员函数时忘记编写类名。

string Engine_in::askYN(string question, int format)
    // ^^^^^^^^^^ Missed during member function definition

不确定是否会导致编译器抱怨的错误消息。

;类定义末尾还缺少Engine_debug。积分杰西。