描述了两种访问模板基类成员的方法,具体请参见此处。当基类成员本身是一个模板时,使用上述第一种方法(this->)访问它的方式在此处描述。在这种情况下,是否有办法也使用第二种方法(使用xxxx)呢?
例如,在下面的代码中,是否可以将"????"替换为某些内容以使代码正常工作?
例如,在下面的代码中,是否可以将"????"替换为某些内容以使代码正常工作?
using namespace std;
template<typename T> class base
{
public:
template<bool good> void foo()
{
cout << "base::foo<" << boolalpha << good << ">()" << endl;
}
};
template<typename T> class derived : public base<T>
{
public:
using ????
void bar()
{
foo<true>();
}
};
using
,因为你需要像using base<T>::template foo;
这样的东西,但是在using
语句中使用template
关键字是被禁止的。 - AndyGboolalpha
了吗? - 463035818_is_not_a_numberusing namespace std;
的另一个原因而已 ;) - 463035818_is_not_a_number