Tutorial 5 SDL - Compatible C++ ?

Le tutoriel en ligne vous pose quelques problèmes ? C'est ici pour en parler !

Tutorial 5 SDL - Compatible C++ ?

Messagede Shadow84 le 19 Jan 2008 11:12

Salut,

je vous remercie d'avance pour le super bon tuto SDL des sprites (ici). Je suis arrivé sans problème à compiler l'application sous MAC OS X, mais quand j'essaie de l'inclure à mon projet (C++), il y a des bugs :

Par exemple, dans main.cpp, quand je tape :
supprimerSprite(&spLink);

le debugger a un problème de linking : cannot convert "Sprite" to "Sprite*" for argument '1' to 'void supprimerSprite(Sprite*)'

et il y en a encore plein comme ça (dès que j'entre un appel à une fonction pour les sprites en fait)... Il me semble que le problème vient du fait que mon main est .cpp, car dès que je renomme le fichier en .c, les problèmes disparaissent... J'utilise des librairies C++, je suis donc obligé de garder le format .cpp... Comment faudrait-il faire pour que ces fonctions soient compatibles C++ ?
Shadow84
 

Re: Tutorial 5 SDL - Compatible C++ ?

Messagede moi1392 le 19 Jan 2008 13:23

de rien ;)

alors pour ton problème :

1) ça devrais vraiment marcher... c'est ton compilo qui ne doit pas être très compatible...

2) essais de remplacer la construction de la structure Sprite de

Code: Tout sélectionner
typedef struct
{
[...]
} Sprite;


à

Code: Tout sélectionner
struct Sprite
{
[...]
};


En sachant que cette seconde construction pose des problèmes en C, mais est beaucoup plus proche de ce qui se fait en C++

En fait, pour l'explication :

En C, on met souvent

Code: Tout sélectionner
typedef struct (xxx)
{
[...]
} XXX;


le (xxx) étant facultatif, cela à pour effet de définir un nouveau type (XXX) pour la structure struct (xxx) {...}, et donc d'écuter de se trimbaler le mot clé 'struct' partout ou on veut utiliser la structure XXX (car XXX vaut pour "struct xxx", et pas seulement pour "xxx")
Le C++ étant un langage orienté objet, définir "struct XXX {...};" définit en fait un classe XXX. Utiliser "struct" ou "class" en C++ ne fait que très peu de différence, les principales étant les droits d'accès par défaut, et la "cosmétique" (lisibilité) de ton code.

voila, j'espère que ça t'aide ;)
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam

Re: Tutorial 5 SDL - Compatible C++ ?

Messagede moi1392 le 19 Jan 2008 13:26

sinon si tu peux me filer ton code, ou au moins un bout de code qui ne compile pas, je peux jeter un oeil ;)
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam

Re: Tutorial 5 SDL - Compatible C++ ?

Messagede Shadow84 le 19 Jan 2008 21:33

Merci beaucoup,
mais l'erreur était une erreur d'inattention...


@+
Shadow84
 


Retourner vers Besoin d'aide en SDL ?

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron