Voila, je viens de quitter mon ancien compilateur C++ pour me mettre sur Visual C++ mais je patoge un peu.
Première chose bizarre que j'ai remarqué c'est pourquoi il na'ccepte âs les include de .cpp ?
PAr exemple : #include "Perso.cpp"
Voila, je viens de quitter mon ancien compilateur C++ pour me mettre sur Visual C++ mais je patoge un peu.
Première chose bizarre que j'ai remarqué c'est pourquoi il na'ccepte âs les include de .cpp ?
PAr exemple : #include "Perso.cpp"
Mes sites :
- Portail : http://www.azharis.fr/
- Neuroshima Hex : http://neuroshima-hex.azharis.fr/
- Monolith Arena : http://monolith-arena.azharis.fr/
Il ne faut jamais inclure de .cpp, seulement des en-têtes.
Ceci-dit, même si c'est un erreur, l'inclusion en elle-même devrait tout de même passer.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Oui mais si je fais un objet, je le déclare dans un .h et je définis ces méthodee dans un .ccp. Je fais comment pour inclkure l'objet?
Mes sites :
- Portail : http://www.azharis.fr/
- Neuroshima Hex : http://neuroshima-hex.azharis.fr/
- Monolith Arena : http://monolith-arena.azharis.fr/
Ca ne marche pas comme ça. Tu devrais revoir tes bases, concernant l'organisation des fichiers.
http://c.developpez.com/faq/cpp/?pag...ASS_header_cpp
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
D'accord, ça je l'ai lu plusieurs fois mais si avec le .cpp on inclu le .h, alors dans le fichier principal il faut inclure le .cpp.
Par exemple : si le code principale est stocké dans le fichier main.cpp, il y a un objet déclaré dans le fichier Perso.h et ses méthodes son écrites dans Perso.cpp et dans Perso.cpp il y a #include "Perso.h", alors dans le main.cpp il doit y avoir #include "Perso.cpp".
N'est-ce pas ?
Mes sites :
- Portail : http://www.azharis.fr/
- Neuroshima Hex : http://neuroshima-hex.azharis.fr/
- Monolith Arena : http://monolith-arena.azharis.fr/
nonEnvoyé par Azharis
tu as seulement besoin de renseigner les .h. ainsi le code appelant a les déclarations de classes et de fonctions. pour ce qui est de savoir ce que font ces fonctions (implémentées dans le .cpp) le compilateur se débrouille tout seul.
il n'y a que pour les templates que tu peux éventuellement inclure le .cpp dans le .h (situation inverse à la normale, voir FAQ)
J'ai pas bien compris mais, pour reprendre mon exemple précédent, il faut mettre toutes les définitions des méthodes de l'objet dans main.cpp, et si y'a 5 objets, on fait 5 .h et on bourre le main.cpp, c'est ça?
Mes sites :
- Portail : http://www.azharis.fr/
- Neuroshima Hex : http://neuroshima-hex.azharis.fr/
- Monolith Arena : http://monolith-arena.azharis.fr/
Non.
1 couple .h / .cpp par classe (habituellement), on met dans le .h la définition de la classe et son implémentation dans le .cpp. Ensuite pour utiliser une classe, on inclut simplement son .h ; l'éditeur de lien se chargeant de trouver comme un grand le corps des fonctions dans les fichiers compilés.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Alléluia, voila quelque chose de clair et précis.
Un grand merci.
Mes sites :
- Portail : http://www.azharis.fr/
- Neuroshima Hex : http://neuroshima-hex.azharis.fr/
- Monolith Arena : http://monolith-arena.azharis.fr/
Désolé mais dans ce cas-la, à quoi ca sert d'inclure le .h dans le .cpp correspondant ?
Mes sites :
- Portail : http://www.azharis.fr/
- Neuroshima Hex : http://neuroshima-hex.azharis.fr/
- Monolith Arena : http://monolith-arena.azharis.fr/
Si tu implémentes des fonctions, il faut bien que le compilo sache desquelles il s'agit.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager