Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 17.12.2010, 00:50   #1
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 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
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 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
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 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
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Undefined reference to...

class Animal
{
        protected:
                
float health;
        public:
                
virtual void Update()=0;
                
virtual AnimalCreate()=0;       
}; 
Я плакалъ. Утро началось отлично
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
falcon (18.12.2010)
Старый 17.12.2010, 12:49   #5
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Undefined reference to...

И чо тебе опять не так?
(Offline)
 
Ответить с цитированием
Старый 17.12.2010, 12:51   #6
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Undefined reference to...

Сообщение от Mr_F_ Посмотреть сообщение
на какой строчке то?
Хех, если б так просто это Linker Error.
(Offline)
 
Ответить с цитированием
Старый 17.12.2010, 13:11   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Undefined reference to...

Сообщение от Павел Посмотреть сообщение
И чо тебе опять не так?
эээээ
ты такой код где видел?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 17.12.2010, 16:45   #8
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 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
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Undefined reference to...

Сообщение от impersonalis Посмотреть сообщение
эээээ
ты такой код где видел?
Мм, нигде, я сам придумал, так все-же что не так-то?? Аргументируйте
(Offline)
 
Ответить с цитированием
Старый 17.12.2010, 17:49   #10
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Undefined reference to...

А определять виртуальные методы невиртуального класса кто будет?
__________________

(Offline)
 
Ответить с цитированием
Старый 17.12.2010, 17:49   #11
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Undefined reference to...

Эх, что-то последнее время наша "элита" С++ программистов любит только издеваться над начинающими. Практически не помню нормальных ответов... к сожалению. Не в обиду.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
Mr_F_ (17.12.2010), pepel (04.01.2011), Reizel (17.12.2010), St_AnGer (17.12.2010)
Старый 17.12.2010, 17:51   #12
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Undefined reference to...

Сообщение от pax Посмотреть сообщение
Эх, что-то последнее время наша "элита" С++ программистов любит только издеваться над начинающими. Практически не помню нормальных ответов... к сожалению. Не в обиду.
Если начинающий - идиот, то зафига тут изображать из себя кэпа объясняя ему очевидные вещи?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
falcon (18.12.2010)
Старый 17.12.2010, 17:52   #13
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Undefined reference to...

Сообщение от Knightmare Посмотреть сообщение
Если начинающий - идиот, то зафига тут изображать из себя кэпа объясняя ему очевидные вещи?
Вероятно, чтобы передать свои знания ему. А на что еще форум нужен?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 6 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
den (17.12.2010), HolyDel (18.12.2010), L.D.M.T. (17.12.2010), Mr_F_ (17.12.2010), Nuprahtor (18.12.2010), St_AnGer (17.12.2010)
Старый 17.12.2010, 17:54   #14
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Undefined reference to...

Сообщение от pax Посмотреть сообщение
Вероятно, чтобы передать свои знания ему. А на что еще форум нужен?
Для этого есть начинающие, обремененные хотябы зачатками интеллекта.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
falcon (18.12.2010)
Старый 17.12.2010, 17:58   #15
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Undefined reference to...

Наверное мне не суждено понять разницу приведенных терминов "идиот" и "начинающий" упомянутые в данном топике.

PS: И я например тоже не понимаю где там не правильно.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
Mr_F_ (17.12.2010), St_AnGer (17.12.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:14.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com