我试图掌握基本类和纯虚函数。

以下是类和标头:

IUpdatble.h

class IUpdatable
{
public:
    virtual void Update(void) = 0;
};


InputHandler.h

#include "IUpdatable.h"

class InputHandler :
public IUpdatable
{
public:
   InputHandler();
   ~InputHandler();
   virtual void Update(void);
 };


InputHandler.cpp

#include "stdafx.h"
#include "InputHandler.h"


InputHandler::InputHandler()
{
}


InputHandler::~InputHandler()
{
}

InputHandler::Update()
{
}


编译器在InputHandler::Update(){}处给我这个错误


  错误C2556:“ int InputHandler::Update(void)”:重载函数仅与“ void InputHandler::Update(void)”的返回类型不同


据我所知,纯虚函数都声明为不带参数的void,重载函数也以相同的方式声明。

最佳答案

在C ++文件(定义)中,您需要定义返回类型:

void InputHandler::Update()
^^^^
{
}

09-11 12:09