“重载函数仅因返回类型而异”错误

时间:2014-09-02 20:55:32

标签: c++

我正试图搞定基类和纯虚函数。

以下是类和标题:

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,没有参数,再次重载函数的声明方式相同。

1 个答案:

答案 0 :(得分:5)

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

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