|
17.12.2010, 00:50
|
#1
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Undefined reference to...
Юзаю класс Animal, от него есть производный - Animal1
Код класса Animal:
class Animal
{
protected:
float health;
public:
virtual void Update()=0;
virtual Animal* Create()=0;
};
Код класса Animal1:
class Animal1 : public Animal
{
public:
void Update();
Animal* Create();
protected:
};
void Animal1::Update()
{
xRect(100,100,100,100,1);
}
Animal* Animal1::Create()
{
Animal1 * a=new Animal1;
a->health=100;
ANIMALS.push_back(a);
return a;
}
Выдает Undefined Reference to 'Animal::Update()' и
Undefined Reference to 'vtable for Animal'
Что я натворил не так, исправьте меня лучше щас, а то дальше будет хуже
|
(Offline)
|
|
17.12.2010, 00:58
|
#2
|
Бывалый
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений (для 245 пользователей)
|
Ответ: Undefined reference to...
virtual забыл. Компилер не может сделать таблицу для вирт. ф-ий.
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
|
(Offline)
|
|
17.12.2010, 01:37
|
#3
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Undefined reference to...
Выдает Undefined Reference to 'Animal::Update()' и
Undefined Reference to 'vtable for Animal'
|
на какой строчке то?
---
кстати - у меня компилится твой код. ошибка в рантайме что ли?
|
(Offline)
|
|
17.12.2010, 10:20
|
#4
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Undefined reference to...
class Animal { protected: float health; public: virtual void Update()=0; virtual Animal* Create()=0; };
|
Я плакалъ. Утро началось отлично
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.12.2010, 12:49
|
#5
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Undefined reference to...
И чо тебе опять не так?
|
(Offline)
|
|
17.12.2010, 12:51
|
#6
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Undefined reference to...
Сообщение от Mr_F_
на какой строчке то?
|
Хех, если б так просто это Linker Error.
|
(Offline)
|
|
17.12.2010, 13:11
|
#7
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Undefined reference to...
Сообщение от Павел
И чо тебе опять не так?
|
эээээ
ты такой код где видел?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
17.12.2010, 16:45
|
#8
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Undefined reference to...
мне показались странными "=0", но тем не менее
In C++, pure virtual functions are declared using a special syntax [ = 0 ] as demonstrated below.
class Abstract {
public:
virtual void pure_virtual() = 0;
};
|
|
(Offline)
|
|
17.12.2010, 17:42
|
#9
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Undefined reference to...
Сообщение от impersonalis
эээээ
ты такой код где видел?
|
Мм, нигде, я сам придумал, так все-же что не так-то?? Аргументируйте
|
(Offline)
|
|
17.12.2010, 17:49
|
#10
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Undefined reference to...
А определять виртуальные методы невиртуального класса кто будет?
__________________
|
(Offline)
|
|
17.12.2010, 17:49
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Undefined reference to...
Эх, что-то последнее время наша "элита" С++ программистов любит только издеваться над начинающими. Практически не помню нормальных ответов... к сожалению. Не в обиду.
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
17.12.2010, 17:51
|
#12
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Undefined reference to...
Сообщение от pax
Эх, что-то последнее время наша "элита" С++ программистов любит только издеваться над начинающими. Практически не помню нормальных ответов... к сожалению. Не в обиду.
|
Если начинающий - идиот, то зафига тут изображать из себя кэпа объясняя ему очевидные вещи?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.12.2010, 17:52
|
#13
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Undefined reference to...
Сообщение от Knightmare
Если начинающий - идиот, то зафига тут изображать из себя кэпа объясняя ему очевидные вещи?
|
Вероятно, чтобы передать свои знания ему. А на что еще форум нужен?
|
(Offline)
|
|
Эти 6 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
17.12.2010, 17:54
|
#14
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Undefined reference to...
Сообщение от pax
Вероятно, чтобы передать свои знания ему. А на что еще форум нужен?
|
Для этого есть начинающие, обремененные хотябы зачатками интеллекта.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.12.2010, 17:58
|
#15
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Undefined reference to...
Наверное мне не суждено понять разницу приведенных терминов "идиот" и "начинающий" упомянутые в данном топике.
PS: И я например тоже не понимаю где там не правильно.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:57.
|