Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2687 connectés 

 


Dernière réponse
Sujet : [C++] Saloperie de pointeurs
Gigathlon ->classe.membre

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Gigathlon ->classe.membre
BifaceMcLeOD Sinon fais renvoyer des références à tes fonctions, ça évitera qu'elles rajoutent des niveaux de pointeur, et tu pourra programmer comme avant (ôôôôôôôôhhhh, la programmâtion, c'était mieux âvant ! :D).
Alload Tain mais que je suis con desfois :D
 
Merci beaucoup beaucoup!!! ;)
verdoux T'as oublié les "()"
 
Achète un bouquin sur le c++ parce que là tu marches par essai-erreur, ça a son charme mais ça permet pas d'avoir une vision globale et structurée du langage.

 

[edit]--Message édité par Verdoux--[/edit]

Alload Ca commence à m'énerver les pointeurs et autres joyeuseries...
 
Bon, pour faire un blit avec DirectDraw il faut lui indiquer deux pointeurs vers des RECT pour lui dire quelle partie affichée d'une surface et où l'afficher.
 
Bon, d'habitude je faisais simplement:
 
RECT rect;
rect.left = 0; rect.right= .... rect.bottom = 100;
lpSecondary->Blt(&rect, lpSurface, &rect, NULL, NULL);
 
Et c'était finis. Mais maintenant que j'ai essayé de stocké les RECT dans une class, il faut lui renvoyer un pointeur correctement et là est le problème.
 
Voilà la partie de ma class concernant les RECT:
 
class CStarship
{
        RECT current;
 RECT position;
public:
 RECT* GetSrcRect() {return ¤t;}
 
 RECT* GetDestRect() {return &position;}
};
 
Et puis je blittais de cette façon:
 
CStarship starship;
lpSecondary->Blt(starship.GetDestRect, lpSStarship, starship.GetSrcRect, NULL, NULL);
 
 
Mais la compilation veut pas se faire, VC++ me dit ça: 'Blt' : cannot convert parameter 1 from 'struct tagRECT *(void)' to 'struct tagRECT *'
 
Mais merde, c'est quoi la différence entre struc tagRECT *(void) et struct tagRECT *? Et surtout comment faire fonctionner ce binz?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)