[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 ^^"