как менять указатель на класс

108
13 июля 2021, 06:20

есть 2 класса и указатель:

pngg *s();
pngg s1("BB.png");
pngg s1("BB1.png");

и надо чтоб в зависимости от нажатой клавиши менялся указатель на тот или иной класс и выводился соответствующий:

Event event;
    while (window.pollEvent(event))
    {
        if (event.type == Event::Closed || event.key.code == sf::Keyboard::Escape)
            window.close();
        switch (event.text.unicode)
        {   
        case 49:
            *s=&s1; //ошибка "выражение должно быть допустимым для изменения левосторонним значением"
        default:
            break;
        }
    }
    window.clear();
    window.draw(s.sprite);//ошибка "выражение должно иметь тип класса"
    window.display();

как правильно сделать?

Answer 1

pngg *s(); - это не указатель на класс, а объявление функции...

Но если объявить правильно - как

pngg*s;

то его можно присваивать как

s = &s1;
READ ALSO
Использование content с svg

Использование content с svg

Необходимо отображать svg в блоке с определённым классомРанее никогда такого не делал

83
Как адаптировать блок по высоте?

Как адаптировать блок по высоте?

Пытаюсь скопировать вёрстку диалогового окна с вот этого чатаСам чат имеет фиксированную высоту

267