Тип не найден при получении из базового класса шаблона
Мне трудно понять, почему в следующих двух частях кода есть разница, что именно делает компилятор.
У меня есть следующий фрагмент тривиального кода, который без проблем компилируется, как и ожидалось:
class base
{
public:
typedef int booboo;
};
class derived : public base
{
public:
int boo()
{
booboo bb = 1;
return bb;
}
};
int main()
{
derived d;
d.boo();
return 0;
}
Я беру код сверху и добавляю некоторые параметры шаблона, и начинаю получать сообщения об ошибках типа booboo:
template
class base
{
public:
typedef T booboo;
};
template
class derived : public base
{
public:
//typedef typename base::booboo booboo;