Bonsoir à tous , je sais que j'ai déjà écrit un post il y à quelque heures mais j'ai un problème sans aucun rapport et que j'essaye de résoudre sans succès depuis hier
Alors voilà, j'ai des entités et là je gère leur physique, donc je me suis occupé des collions( pour l'instant en externe ), etc.. Et là je m'occupe de la gravité. J'ai donc ce code ci :
Ce code me donne cette erreur alors que si je le met dans mon main je n'es aucun problèmes. Voici l'erreur en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 void updatePhysics( std::vector<std::unique_ptr<Entity>> &v_entity, sf::Vector2f const& gameSize ) { ... std::vector<std::pair<bool, size_t>> entityInFall; ///COLLISION TEST ... for( size_t i{0}; i < v_entity.size(); ++i ) { if( v_entity[i]->position.y > 0 ) { entityInFall.push_back(std::make_pair(true,i)); } } ///GRAVITY TEST ... }
Donc, il prend position pour une class ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 B:\Workspace\C++\Gravity\Function.cpp|11|error: '(&(& v_entity)->std::vector<_Tp, _Alloc>::operator[]<std::unique_ptr<Entity>, std::allocator<std::unique_ptr<Entity> > >(i))->std::unique_ptr<_Tp, _Dp>::operator-><Entity, std::default_delete<Entity> >()->Entity::position' does not have class type|
je comprend pas vraiment l'erreur, qulqu'un peux m'aider ?
Merci ^^"
Partager