protected- все статьи тега
Изменены правила для защищенных конструкторов в C++17?
у меня есть этот тест: struct A{ protected: A(){} }; struct B: A{}; struct C: A{ C(){} }; struct D: A{ D() = default; }; int main(){ (void)B{}; (void)C{}; (void)D{}; } и gcc и clang компилируют его в режиме C++11 и C++14. Оба сбоя в режиме C++17: $ clang++ -std=c++17 main.cpp main.cpp:7:10: error: base class 'A' has protected default constructor (void)B{}; ^ main.cpp:1:22: note: declared protected here struct A{ protected: A(){} }; ^ ...