重载虚函数警告

Overloaded virtual function warning

这段代码现在没有编译,我该怎么办?我应该添加 void funccall(const String e); 吗?

struct Base
{
     virtual void funccall(const String e = "");
};

struct Derived: public Base {
    using Base::funccall;
    void funccall();
    void funccall(char* e, int index);
};

我的猜测是你必须定义一个纯虚函数

struct Base
{
     virtual void funccall(const String e = "")=0;
};

或者为此方法定义一个主体

struct Base
{
     virtual void funccall(const String e = ""){};
};

添加到post:

#include "stdafx.h"
#include <string>

class base
{
public:
    virtual void funccall(const std::string e = "") {}
};
class derived : public base
{

    void funccall() {};
    void funccall(char *e, int index) {};
};

int main()
{
    return 0;
}