c ++ предупреждение о перегруженной виртуальной функции от clang?

clang выдает предупреждение при компиляции следующего кода:

struct Base
{
    virtual void * get(char* e);
//    virtual void * get(char* e, int index);
};

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

Предупреждение:

warning: 'Derived::get' hides overloaded virtual function [-Woverloaded-virtual]

(упомянутое предупреждение должно быть включено, конечно).

Я не понимаю почему. Обратите внимание, что раскомментирование того же объявления в Base отключает предупреждение. Насколько я понимаю, так как две функции get () имеют разные подписи, скрытие не может быть.

Является ли лязг правильно? Почему?

Обратите внимание, что это на MacOS X, под управлением последней версии Xcode.

clang --version
Apple LLVM version 5.0 (clang-500.1.74) (based on LLVM 3.3svn)

Обновление: то же поведение с Xcode 4.6.3.

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

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