Всем привет... никогда особенно не любил плюсы, но вот решил применить их для небольшого приложения... и столкнулся вот с такой проблемой...
сначало собственно код:
// собственно базовый класс
template <class T1, class T2>
class base
{
protected:
T1 data;
...
public:
...
virtual void test () = 0;
};
// класс потомок
template <class T1, class T2>
class derived : public base<T1, T2>
{
...
public:
void test ()
{
data.somefun (); собственно тут и проблема
}
};
так, как написано у меня, не работает... чтобы заработало, надо писать явно:
void test ()
{
base<T1, T2>::data.somefun ();
}
собственно вопрос, почему так? :)
Зарание всем благодарен.