При попытке скомпилировать этот (похожий на CRTP) код с GCC 4.6.0:
template<template<class> class T> struct A;
template<class T>
struct B: A<B<T>::template X> {
template <class U> struct X { U mem; };
};
B<int> a;
Я получаю сообщение об ошибке "test.cpp: 3: 26: error: нет шаблона класса с именем 'X' в 'struct B