[C++14] Problème avec un vector<unique_ptr>
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 :
Code:
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
...
} |
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:
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| |
Donc, il prend position pour une class ?
je comprend pas vraiment l'erreur, qulqu'un peux m'aider ?
Merci ^^"