Производный класс не наследует перегруженный метод от базового класса

Я хотел бы, чтобы метод в базовом классе вызывал чисто виртуальный метод, который будет реализован в производном классе. Однако метод без параметров базового класса, похоже, не наследуется производным классом. Что я делаю неправильно? Компилятор MSVC12.

ошибка C2660: «Derived :: load»: функция не принимает 0 аргументов

Вот полный пример (который не компилируется из-за ошибки):

struct Base
{
    void load() { load(42); }; // Making this virtual doesn't matter.
    virtual void load(int i) = 0;
};

struct Derived : Base
{
    virtual void load(int i) {};
};

int main()
{
    Derived d;
    d.load(); // error C2660: 'Derived::load' : function does not take 0 arguments
}

Ответы на вопрос(2)

Ваш ответ на вопрос