C'est pourtant assez simple, tu as cité dans ta petite liste l'opérateur qu'il faut utiliser. Ce que tu veux c'est l'adresse d'une variable, il faut donc utiliser le &, l'opérateur -> c'est pour accéder aux variables d'un pointeur sur une structure, par exemple :
1 2 3 4 5
| Perso *heros;
// Initialisation de heros, je l'ai pas mise
// mais faut pas l'oublier
heros->typeMvt = 5; // accès à un champ de heros |
L'opérateur . c'est comme -> mais lorsqu'on a une structure et non plus un pointeur sur une structure :
1 2 3
| Perso heros;
heros.typeMvt = 5; // accès à un champ de heros |
Le fait est qu'une fois que tu as accédé à ta variable tu peux en récupérer l'adresse avec l'opérateur &, ce qui donne donc :
SDL_Rect *ptrPosition = &heros.position;
L'opérateur . étant prioritaire sur l'opérateur &, tu accèdes d'abord au champ "position" de heros avant d'en récupérer l'adresse et de l'affecter à ptrPosition. Tu peux bien sûr mettre "&heros.position" directement dans un appel de méthode.
Partager