Нарвался на эпичную багу с C style cast.
Был старый код:
CTreeCtrl * pTree = (CTreeCtrl *)&m_Tree;
...
... pTree->GetChildItem(TVI_ROOT) ...
Зачем там вообще приведение типа -- я хз, эта функция была писан не мной.
В один прекрасный момент тип m_Tree меняется из наследника CTreeCtrl в std::auto_ptr<CTreeCtrl>.
И вместо static_cast мы имеем уже reinterpret_cast.
И ни единого ворнинга от компилятора по этому поводу.
Был старый код:
CTreeCtrl * pTree = (CTreeCtrl *)&m_Tree;
...
... pTree->GetChildItem(TVI_ROOT) ...
Зачем там вообще приведение типа -- я хз, эта функция была писан не мной.
В один прекрасный момент тип m_Tree меняется из наследника CTreeCtrl в std::auto_ptr<CTreeCtrl>.
И вместо static_cast мы имеем уже reinterpret_cast.
И ни единого ворнинга от компилятора по этому поводу.