Вот мой класс, который находится в заголовке.Я получаю неопределенную ссылку на ошибку vtable
class AlarmPatterns
{
public:
AlarmPatterns() {}
virtual~AlarmPatterns();
//alarm patterns
enum class PATTERN_TYPES_E
{
BEEP_MODE, //150
IGN_BULBCHECK, //160
LOW_PRIO_REMIND, //170
DM1_RED, //200
HP_ALERT_5, //210
HP_ALERT_4, //220
HP_ALERT_3, //230
HP_ALERT_2, //240
HP_ALERT_1, //250
NUM_PATTERNS
};
static bool LoadPatternData(AP_S & pattern, const uint8_t id);
static const AP_S Patterns[];
};
AP_S является ЬурейеЙ структурой в том же пространстве имен, но вне класса
Это базовый класс, так как мы не вытекающие из других классов
В моем test.cpp файл I есть:
AlarmPatterns * TestPattern;
void setup()
{
TestPattern = new AlarmPatterns();
}
Комментируя TestPattern = new AlarmPatterns();
результаты без каких-либо ошибок
Здесь ошибка
undefined reference to `vtable for Dragonfly::Alarm::AlarmPatterns'
Поскольку нет никакого способа, я пропускаю виртуальные функции из любых базовых классов, я не вижу, как я получаю эту ошибку.
Возможно, вы не ссылаетесь на код для AlarmPatterns – thang
Возможный дубликат [Неопределенные символы «vtable for ...» и «typeinfo for ...»?] (Http://stackoverflow.com/questions/1693634/undefined-symbols-vtable-for-and-typeinfo-for) Есть сотни подобных вопросов, просто отбросьте сообщение об ошибке в какой-то поисковой системе. В следующий раз, пожалуйста, сначала сделайте исследование. –