X method(const X& x) = 0;
};
class B : public A {
public:
X method(const X& x) override { return x; }
};
class C : public A {
public:
X method(const X& x) override;
private:
X x_;
};
Всем привет!
Вот это .hpp, в .cpp есть реализация C::method, но получаю такую ошибку
undefined reference to `vtable for C'
collect2: error: ld returned 1 exit status
Вроде бы все реализрвано, и вернуальный деструктор дефалтный. В чем может быть проблема?
.cpp прилинкован?
просто капец спасибо. Тупо забыл закомитить CMakeLists и пушнул
Зачем .hpp, если можно в .h?
Зачем .cpp если можно .C?
Зачем в .h, когда можно в .hpp?
Короче, популярнее.
Показывает на другой язык.
зачем .с когда можно без расширения
Не показывает язык.
Ты удивишься, узнав что расширение не важно?
удивлю. Не показывает
А в .hpp часто шаблоны пишут. Тоже общепринято
В .c приятно хранить С, а в .срр или .сс — С++.
Учи https://gcc.gnu.org/onlinedocs/gcc-4.4.1/gcc/Overall-Options.html#index-file-name-suffix-71 file.ccfile.cpfile.cxxfile.cppfile.CPPfile.c++file.CC++ source code which must be preprocessed. Note that in `.cxx', the last two letters must both be literally `x'. Likewise, `.C' refers to a literal capital C.
Разницу между .c и .C видишь?
Для ФС ДОСа разницы нет.
Не пользуйтесь устаревшими технологиями
Да, но и мастдаю пофиг...
https://t.me/supapro/928358
Обсуждают сегодня