次の簡単なコードがあります。
template <typename T>
struct base
{
std::vector<T> x;
};
template <typename T>
struct derived : base<T>
{
void print()
{
using base<T>::x; // error: base<T> is not a namespace
std::cout << x << std::endl;
}
};
(GCC-4.7.2 を使用して) コードをコンパイルすると、上記のコメントにあるエラーが表示されます。
私はここで読んだ :http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Name-lookup.html#Name-lookup
using base<T>::x
基本クラスのスコープを取り込むには、含める必要があります。何が間違っているのですか?前もって感謝します!