在头文件中创建类 我正在处理一个C++程序,遇到了一些麻烦。我用一个纯虚方法创建了一个抽象类。由于该类没有变量或实现的方法,因此我将该类存储在没有.cpp实现文件的头文件中(不需要)

在头文件中创建类 我正在处理一个C++程序,遇到了一些麻烦。我用一个纯虚方法创建了一个抽象类。由于该类没有变量或实现的方法,因此我将该类存储在没有.cpp实现文件的头文件中(不需要),c++,function,header,virtual,C++,Function,Header,Virtual,方法是: virtual void handleEvent() = 0; 问题是当我从该类继承并实现该方法时: virtual void handleEvent(); (.h file) void handleEvent(){.....} (.cpp file) 我得到一个编译器错误(使用g++): 该文件包含在引擎头类中。你知道为什么这不起作用吗?我想你忘了把类限定符放在.cpp实现中。它大概应该是这样的: void Engine::handleEvent() { ... } 我想您忘了

方法是:

virtual void handleEvent() = 0;
问题是当我从该类继承并实现该方法时:

virtual void handleEvent(); (.h file)
void handleEvent(){.....} (.cpp file)
我得到一个编译器错误(使用g++):


该文件包含在引擎头类中。你知道为什么这不起作用吗?

我想你忘了把类限定符放在.cpp实现中。它大概应该是这样的:

void Engine::handleEvent() { ... }

我想您忘了将类限定符放在.cpp实现中。它大概应该是这样的:

void Engine::handleEvent() { ... }

我想说它可能是对的,但也可能是您的(在至少两个不同的.cpp文件之间必须有不同的编译器设置)。尝试使用
\uuuu cdecl
\uuu stdcall
(或者无论g++编译器的正确名称是什么,请查看)

我想说它可能是正确的,但也可能是您的(在至少两个不同的.cpp文件之间必须有不同的编译器设置)。尝试使用
\uu cdecl
\uu stdcall
(或者无论g++编译器的正确名称是什么,请查看)

别担心,我们都有那些日子。别担心,我们都有那些日子。