Skocz do zawartości

pure virtual function call


ediepl

Rekomendowane odpowiedzi

Witam, próbuje coś wyskrobać w C++ z SFML 2, stworzyłem sobie klasę

class Sprite
    {
    private:
        sf::Texture obrazek;
        sf::Sprite sprajt;
    public:
        //jakieś tam funkcję

        operator sf::Sprite()
        {
            return sprajt;
        }
    };

następnie kolejną klasę Player

class Player
    {
    private:
        Sprite spr;
    public:
        void Draw();
    };

i w funkcji Draw() próbuje wyświetlić tego sprita na ekranie

okno.draw(spr);

Niestety zaraz po włączeniu wyskakuje error C Runtime "pure virtual function call", wie ktoś może dlaczego i jak to naprawić?

Ps: Jeśli opakuje to sobie osobną funkcję błąd nie wyskakuje.

void draw_sprite(sf::Sprite spr)
{
    okno.draw(spr);
}

EDIT: Coś jest nie tak z przeciążeniem operatora, bo jeśli odwołam się bezpośrednio do tego "sprajt" to też nie pokazuje błędu.

EDIT2: Ok mój błąd, zapomniałem dać magiczne "&" w przeciążeniu...

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...