C++ - “Функция членства, не объявленная” в производном классе

Перенос одного большого репозитория из SVN и т. Д. В один большой репозиторий Git является явным препятствием. Способ git разработан, вы не можете делать частичные проверки, и даже фиксация может быть медленной. Лучше модульно использовать репо для каждого компонента. По крайней мере, репо на команду. Определенно не репо в организации.

7
задан Sukasa 23 October 2009 в 21:07
поделиться

3 ответа

В PlayerSpriteKasua.h вам нужно повторно объявить все методы, которые вы собираетесь переопределить / реализовать (без «= 0», чтобы сказать, что эти методы больше не являются абстрактными). Поэтому вам нужно написать это так:

class PlayerSpriteKasua : public PlayerSpriteBase
{
public:
    virtual void think();
    virtual void render(long long ScreenX, long long ScreenY);
    virtual int getHealth();
};

... или вы пропустили это, чтобы ваш пост был короче?

16
ответ дан 6 December 2019 в 09:20
поделиться

Вам необходимо предоставить объявление для PlayerSpriteKasua :: render () в определении вашего класса. В противном случае другие единицы перевода, включая ваш PlayerSpriteKasua.h, не смогут сказать, что вы предоставили определение, и будут вынуждены сделать вывод, что PlayerSpriteKasua не может быть создан.

2
ответ дан 6 December 2019 в 09:20
поделиться

Вам необходимо повторно объявить элементы SpriteBase, которые вы собираетесь реализовать в PlayerSpriteKasua, в объявлении PlayerSpriteKasua в PlayerSpriteKasua.h.

2
ответ дан 6 December 2019 в 09:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: