テンプレート派生クラスのテンプレート基本クラスのメンバーを使用する場合は、次のようにスコープに含める必要があります。
template <typename T>
struct base
{
void foo();
};
template <typename T>
struct derived : base<T>
{
using base<T>::foo;
};
他のusingステートメントのように、このusingステートメントをローカルスコープに配置できないのはなぜですか?
template <typename T>
struct base
{
void foo();
};
template <typename T>
struct derived : base<T>
{
void f()
{
using base<T>::foo; // ERROR: base<T> is not a namespace
}
};