Название: [Решено]Наследование Отправлено: demaker от Октябрь 02, 2013, 11:38 Задал абстрактный класс
Код Затем делаю так Код Выдает ошибки: Код: error: conflicting type attributes specified for 'virtual CComm232::~CComm232()' Почему, ведь вроде все норм??? Название: Re: Наследование Отправлено: Old от Октябрь 02, 2013, 11:41 Объявите пустой виртуальный деструктор в CLayer0.
Название: Re: Наследование Отправлено: demaker от Октябрь 02, 2013, 11:44 А без него никак???
Наверное,да :) Название: Re: Наследование Отправлено: Old от Октябрь 02, 2013, 11:51 А без него никак??? Fix :)Название: Re: Наследование Отправлено: demaker от Октябрь 02, 2013, 12:06 Сделал так, но не помогло
Код
Название: Re: Наследование Отправлено: Old от Октябрь 02, 2013, 12:12 Сделал так, но не помогло Я на QObject внимания не обратил: у него виртуальный деструктор не объявлен как __fastcall, поэтому конфликт. Название: Re: Наследование Отправлено: demaker от Октябрь 02, 2013, 12:28 :) точно
Название: Re: [Решено]Наследование Отправлено: Пантер от Октябрь 02, 2013, 13:13 Зачем вообще этот __fastcall?
Название: Re: [Решено]Наследование Отправлено: Fregloin от Октябрь 09, 2013, 10:36 Наследие от CBuilder вероятно )
Название: Re: [Решено]Наследование Отправлено: Hellraiser от Октябрь 09, 2013, 10:56 MS компилятор (по крайней мере, 2010) тоже поддерживает __fastcall, которое является соглашением по вызову и требует от компилятора, по возможности, передавать аргументы для такой функции через регистры. Может иметь побочный эффект, связанный с декорированием имен (вместо _ добавляет @ перед именем функции).
Название: Re: [Решено]Наследование Отправлено: Igors от Октябрь 09, 2013, 16:00 Насколько я помню, это паскалевское соглашение - стек выравнивает вызываемая ф-ция (а не вызывающий как в С). Однако это уже поросло мхом и приняло чисто ритуальный характер
Название: Re: [Решено]Наследование Отправлено: Serr500 от Октябрь 09, 2013, 16:22 __fastcall - аргументы передаются в регистрах, если возможно, стек очищает функция.
__stdcall - аргументы передаются в стеке, стек очищает функция. _cdecl - аргументы передаются в стеке, стек очищает вызывающий код. |