Этот код компилируется с MSVC 2015, но не компилируется с Clang 5.0.0 (trunk 304874):
template <typename T>
struct Base
{
T data;
};
template <typename T>
struct Derived : Base<T>
{
auto getData() const
{
return data;
}
};
Замена data
на this->data
в Derived::getdata()
делает Кланг счастливым.
Какой компилятор корректен в соответствии со стандартом С++?
Должен this->
использоваться в шаблоне для доступа к идентификатору базового класса?