(C++). Наследование и перегрузка имен. (IAR C/C++ Compiler for AVR 4.21A)

Здравствуйте,
Подскажите пожалуйста причину ошибки, и способ устранения.
Начало листинга:
struct t_guiitem{
...
void draw(int x, int y){...};
virtual void draw()=0;
...
};
struct t_guitxt:t_guiitem{
...
virtual unsigned int outtext(char __generic *str)=0;
virtual unsigned int outtext(char __generic *str,unsigned char n)=0;
...
virtual void draw(){...};
...
};
struct t_guilabel:t_guitxt{
unsigned int outtext(char __generic *str){...};
unsigned int outtext(char __generic *str,unsigned char n){...};
};
int main(){
int x,y;
...
t_guilabel label_num(...);
((t_guiitem*)&label_num)->draw(x,y); //эта строка компилируется
label_num.draw(x,y); //При компиляции этой строки ошибка
//Error[Pe140]: too many
//arguments in function call
//main.cpp 486
...
}
Конец.
Т.е. как я понял компилятор подставляет функцию draw из родительского
класса t_guitxt без параметров,когда я прошу его подставить функцию
с двумя параметрами int из прародительского класса t_guiitem.
Подскажите пожалуста в чем может быть причина ошибки.
Здравствуйте, Акчурин!
В Winamp'e играет < Системе не удается найти указанный путь (C:\Program Files\Winamp\Plugins\np.txt)
Вы писали:
Не знаю специфику языка С++, но использую по жизни C# могу
сказать, что используется так:
struct t_guilabel:t_guitxt{
override unsigned int outtext(char __generic *str){...};
override unsigned int outtext(char __generic *str,unsigned char n){...};
};