2017-01-06 4 views
0

Моя рабочая средаlcov: ветви покрытия деструктора отсутствующего

  • Cygwin

  • lcov 1,13

  • GCC 5.4.0

Проблема отчет по покрытию в HTML сказал, что недостающая ветвь в деструкторе, но деструктор пуст. Я не знаю почему. Кто-нибудь может мне помочь? Я также попробовать с GCC 4.8.0, но тот же результат enter image description here

ответ

3

У меня была такая же проблема, и я нашел this on stackoverflow. Короткий ответ заключается в том, что существуют разные типы деструкторов, в зависимости от того, удаляете ли вы динамически выделенный объект или разрушен статически выделенный объект.

Так, чтобы избавиться от этого недостающего покрытия ветви, вы должны создать объект с

TestClass* a = new TestClass(); 

и

TestClass b; 

и убедитесь, что они оба уничтожены, бывший, из курс, с

delete a; 

Затем следует назвать оба типа деструктора.

+0

Я создал объект как «TestClass b;» Деструктор уже вызвал, но он отсутствует – tuanpm

Смежные вопросы