Здравствуйте, remark, Вы писали:
R>Скорее всего ты просто с функциями пробуешь совершенно другой пример, например вызываешь из функции базового класса функцию производного класса. Это будет прекрасно работать и для типов — в функции базового типа ты можешь создать локальную переменную типа derived_t::X.
Действительно так.
template<typename T>
struct Base
{
T::X m_x; // Ошибка!!!
void foo()
{
T::X m_x; // Допустимо!!!
}
};
Только не понятно, в чем разница. Так локальная переменная, так член класса...