gcc 5.3 bug
От: night beast СССР  
Дата: 25.02.17 17:48
Оценка: 41 (2)
Пол дня потратил разбираясь

Валится:
class Base
{
    int m_count = {}; // если закоментировать инициализацию, то все ок. зачем-то у Derived обнуляется указатель на виртуальную таблицу.
};

struct Derived : public Base
{
    virtual ~Derived() {}

    void test() { do_test(); }
    virtual void do_test() = 0;

};

struct Test : Derived
{
    virtual void do_test() {
        std::cout << "ok";
    }
};
Test d;

int main()
{
    d.test();
    return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.