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 : 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
    ...
}
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
 
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 ^^"