Size: a a a

2020 August 24

RT

Roma T. in supapro.cxx
for (b2ContactEdge* ce = pBodyBall->GetContactList(); ce; ce = ce->next)
       {
           b2Contact* c = ce->contact;

           for (int i = 0; i < enemyBody.size(); i++)
               if (ce->contact->GetFixtureB() == enemyBody[i]->GetFixtureList())
               {
                   enemyBody[i]->DestroyFixture(enemyBody[i]->GetFixtureList());
                   enemy.erase(enemy.begin() + i);
                   enemyBody.erase(enemyBody.begin() + i);
               }
       }
источник

RT

Roma T. in supapro.cxx
Когда я удаляю из вектора enemyBody[i] Fixture у меня ce -> начинает ссылаться на левый адрес, и срабатывает исключение
источник

Е

Егор in supapro.cxx
Roma T.
Когда я удаляю из вектора enemyBody[i] Fixture у меня ce -> начинает ссылаться на левый адрес, и срабатывает исключение
а enemy это кто
источник

RT

Roma T. in supapro.cxx
обьект - враг
источник

Е

Егор in supapro.cxx
Roma T.
обьект - враг
а тип у врага какой?
источник

RT

Roma T. in supapro.cxx
vector <Object> enemy;
   vector <b2Body*> enemyBody;
источник

RT

Roma T. in supapro.cxx
Object - структура
источник

ПК

Побитый Кирпич... in supapro.cxx
Егор
а enemy это кто
Где удаляешь?
источник

VS

Vladimir Suisei in supapro.cxx
Побитый Кирпич
думаю достаточно будет сделать вариант const
Класс A.
Внутри std::variant v.

template<class Visitor>
A::foo(Visitor &&vis)
{ std::visit( /*что тут написать?*/, v) }

Я хочу чтобы при вызове A::foo() нельзя было менять v
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Класс A.
Внутри std::variant v.

template<class Visitor>
A::foo(Visitor &&vis)
{ std::visit( /*что тут написать?*/, v) }

Я хочу чтобы при вызове A::foo() нельзя было менять v
Сделай метод foo const
источник

VS

Vladimir Suisei in supapro.cxx
Побитый Кирпич
Сделай метод foo const
Он сам заглянет внутрь лямбды и сам увидит если есть нарушение?
источник

ПК

Побитый Кирпич... in supapro.cxx
Roma T.
Когда я удаляю из вектора enemyBody[i] Fixture у меня ce -> начинает ссылаться на левый адрес, и срабатывает исключение
И как ce связано с enemyBody?
источник

Е

Егор in supapro.cxx
Vladimir Suisei
Класс A.
Внутри std::variant v.

template<class Visitor>
A::foo(Visitor &&vis)
{ std::visit( /*что тут написать?*/, v) }

Я хочу чтобы при вызове A::foo() нельзя было менять v
std::visit(vis,v) (если это вопрос был)
источник

VS

Vladimir Suisei in supapro.cxx
Егор
std::visit(vis,v) (если это вопрос был)
Тут не нужны всякие форварды?
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Он сам заглянет внутрь лямбды и сам увидит если есть нарушение?
Подозреваю, он не даст передать mutable reference в лямбду
источник

Е

Егор in supapro.cxx
Vladimir Suisei
Тут не нужны всякие форварды?
ну можно зафорвардить
источник

VS

Vladimir Suisei in supapro.cxx
Егор
ну можно зафорвардить
Можно или нужно
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Можно или нужно
функтор можно зафорвардить в визит
источник

RT

Roma T. in supapro.cxx
я не не знаю, бьюсь уже битый час. после прохода по вложенному циклу
источник

RT

Roma T. in supapro.cxx
Вызвано исключение: нарушение доступа для чтения.
ce было 0xFFFFFFFFFFFFFFF7.
источник