Salut,
Attention, dans C.cpp, à la ligne 1, c'est soit #include <C.H> soit #include "C.H" qu'il faut écrire.
Erreur de typo ou de copie
(en outre, il est surprenant qu'un fichier d'en-tête nommé C.H contienne une structure nommée... structure
, tu devrais essayer de nommer tes fichiers de manière cohérente avec leur contenu
)
Toujours dans le fichier C.cpp, à la ligne 2, la déclaration anticipée de structure n'est pas nécessaire : l'inclusion du fichier d'en-tête donne l'assurance que le compilateur connaitra toute la structure dans C.cpp 
Linges 4 et 6 de c.cpp : contrairement à C, il n'est pas nécessaire de rajouter struct à chaque fois que tu veux utiliser structure : En C++, le compilateur sait parfaitement que structure correspond à un type 
La ligne 6 de c.cpp ne fait pas du tout ce que tu crois : elle appelle la fonction structure(), qui est différente du constructeur par défaut de ta structure
l'appel correct est
structure *s = new structure;
De manière générale, évite au maximum l'utilisation des pointeurs et de l'allocation dynamique si tu n'en a pas besoin.
Dans le cas présent, tu n'a pas forcément besoin de l'allocation dynamique, tu pourrais donc renvoyer un objet de type structure sous la forme de
1 2 3 4 5
| structure fct(Graphe g){
structure s;
s.g=g;
return g;
} |
Ceci dit, peut etre serait il intéressant, en vrac:
- de transmettre le graphe sous la forme d'une référence constante à fct de manière à éviter les copies inutiles
- de déclarer et de définir un constructeur prenant une référence constante sur Graphe (et un float) pour structure
Partager