Во время компиляции с помощью avr-gcc я обнаружил следующие ошибки компоновщика:
undefined reference to `__cxa_pure_virtual'
Я нашел этот документ, в котором говорится:
Функция
__cxa_pure_virtual
- это обработчик ошибок, который вызывается при вызове чистой виртуальной функции.Если вы пишете приложение на C ++, которое имеет чистые виртуальные функции, вы должны предоставить свою собственную
__cxa_pure_virtual
функцию обработчика ошибок. Например:
extern "C" void __cxa_pure_virtual() { while (1); }
Предлагаемое определение этой функции устраняет ошибки, но я хотел бы знать:
- какова цель этой функции,
- почему мне нужно определить это самому и
- почему допустимо кодировать его как бесконечный цикл?
gcc
, где вы должны использоватьg++
; Я сделал это хоть раз :) - person user2023370   schedule 25.05.2015