В моем коде должно быть что-то конкретное, которое я не могу опубликовать. Но, возможно, кто-то может предложить возможные причины.
В основном я:
class CParent
{
public:
void doIt(int x);
};
class CChild : public CParent
{
public:
void doIt(int x,int y,int z);
};
CChild *pChild = ...
pChild->doIt(123); //FAILS compiler, no method found
CParent *pParent = pChild;
pParent->doIt(123); //works fine
Как на земле?
EDIT: люди говорят о теневом/скрытии. Но две версии doIt имеют различное количество параметров. Неужели это не может смутить компилятор, перегружает в дочернем классе, который нельзя путать с версией родительского класса? Может ли это?
Ошибка компилятора: ошибка C2660: 'CChild:: doIt': функция не принимает 1 аргумент