Здравствуйте, vitaly.grechko, Вы писали:
VG>htmlayout_controls.hpp(46) : warning C4265: 'htmlayout::selected_cb' : class has virtual functions, but destructor is not virtual
VG> instances of this class may not be destructed correctly
VG>Это поправится или прагмой задавить? Вообще я всегда в интерфесайх ставлю виртуальный деструктор с тех пор как отсутствие один раз привело к трапу. Если кто-то удивился, то поставьте у себя в cl.exe флажок -wall много всего интересного почитаете
Не все так просто. Пришлось делать так:
class callback
{
public:
/**Is called for every element that match criteria specified when calling to #htmlayout::dom::element::select() function.*/
virtual bool on_element(HELEMENT he) = 0; /* return false to continue enumeration*/
#if !defined(_MSC_VER) || _MSC_VER > 1200
virtual ~callback() {} // this line causing internal compiler error in VC6
#endif
};
htmlayout_controls.hpp(46) : warning C4265: 'htmlayout::selected_cb' : class has virtual functions, but destructor is not virtual
instances of this class may not be destructed correctly
Это поправится или прагмой задавить? Вообще я всегда в интерфесайх ставлю виртуальный деструктор с тех пор как отсутствие один раз привело к трапу. Если кто-то удивился, то поставьте у себя в cl.exe флажок -wall много всего интересного почитаете
Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, vitaly.grechko, Вы писали:
VG>>htmlayout_controls.hpp(46) : warning C4265: 'htmlayout::selected_cb' : class has virtual functions, but destructor is not virtual
VG>> instances of this class may not be destructed correctly
VG>>Это поправится или прагмой задавить? Вообще я всегда в интерфесайх ставлю виртуальный деструктор с тех пор как отсутствие один раз привело к трапу. Если кто-то удивился, то поставьте у себя в cl.exe флажок -wall много всего интересного почитаете
CS>Не все так просто. Пришлось делать так:
CS>CS> class callback
CS> {
CS> public:
CS> /**Is called for every element that match criteria specified when calling to #htmlayout::dom::element::select() function.*/
CS> virtual bool on_element(HELEMENT he) = 0; /* return false to continue enumeration*/
CS>#if !defined(_MSC_VER) || _MSC_VER > 1200
CS> virtual ~callback() {} // this line causing internal compiler error in VC6
CS>#endif
CS> };
CS>
Вот это оперативность! Супер. Спасибо. Вообще HTMLayout — чудо с неба какое-то. До этого мы провозились месяц с компилящией и встраиванием gecko (Mozilla). Он наши sdk раздул в несколько раз, асертился, валил в stdout всякую лажу и тормозил. Теперь я надеюсь это позади, хотя есть проблемки в HTMLayout — я потом напишу.