struct Base { virtual int g(); virtual ~Base() {} };
struct A : Base {
// OK: declares three member virtual functions, two of them purevirtual int f() = 0, g() override = 0, h(); // <---------- ВОТ ТУТА
// OK: destructor can be pure too
~A() = 0;
// Error: pure-specifier on a function definitionvirtual int b()=0 {}
};
Никогда бы не подумал, что так можно
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
КД>struct Base { virtual int g(); virtual ~Base() {} };
КД>struct A : Base {
КД> // OK: declares three member virtual functions, two of them pure
КД> virtual int f() = 0, g() override = 0, h(); // <---------- ВОТ ТУТА
КД> // OK: destructor can be pure too
КД> ~A() = 0;
КД> // Error: pure-specifier on a function definition
КД> virtual int b()=0 {}
КД>};
КД>
КД>Никогда бы не подумал, что так можно
Можно != нужно
Это ухудшает читабельность и провоцирует ошибки.
Ну какая религия мешает записать вот так:
virtual int f() = 0;
virtual int g() override = 0;
virtual int h();
Здравствуйте, AlexGin, Вы писали:
КД>>Никогда бы не подумал, что так можно AG> AG>Можно != нужно AG>Это ухудшает читабельность и провоцирует ошибки. AG>Ну какая религия мешает записать вот так: AG>
AG> virtual int f() = 0;
AG> virtual int g() override = 0;
AG> virtual int h();
AG>
Полностью согласен.
Интересен источник сообщения. Вылезло при вычитке кода где использовалась ф-ция с дефолтными параметрами.