undefined reference на этапе линковки
Вы подключили заголовок metrics.h, вызвали Metrics::flush(), компиляция файла прошла успешно, но сборка падает:
undefined reference to `Metrics::flush()'
О чём говорит такая ошибка?
- Заголовок не подключён: нужно добавить `#include "metrics.h"`
- В заголовке нет объявления `flush`, поэтому компилятор не смог проверить сигнатуру вызова и отложил проверку до линковки
- Объявление найдено, а реализации нет: файл с определением не попал в цель сборки
- Ошибка синтаксиса в `metrics.h`, из-за которой класс не был разобран до конца
