с 9 версии) ? GCC и MSVC нормально себя ведут
template <class Type>
class TemplateClass
{
protected:
TemplateClass() = default;
int res;
};
class a : private TemplateClass<int>{};
struct b : public a
{
class test : TemplateClass<float>{}; // error: 'TemplateClass' is a private member of 'TemplateClass<int>'
};
int main()
{
b f;
return 0;
}
// error: 'TemplateClass' is a private member of 'TemplateClass<int>'
Не компилируется, А ЧТО?
загрузи на godbolt.org пожалуйста
https://godbolt.org/z/h6bshT вот
Вопрос почему) gcc и msvc норм себчя ведут, а так же clang 8 версии
https://godbolt.org/z/qTv5KG Вот так исправляется
объясни, пожалуйста, почему так проивходит и что можно почитать по этмоу поводу?
Обсуждают сегодня