Friend declaration error dans une classe Set - C++ - Programmation
Marsh Posté le 26-03-2008 à 22:44:12
encore une fois :
Code :
|
et c'est PAS un bouquin serieux si il te fait ecrire des fonctions friends ...
Marsh Posté le 27-03-2008 à 00:24:16
Salut Joel,
merci pour ta réponse.
Je persiste à dire que ce bouquin est sérieux, c'est autant un bouquin de finance qu'un bouquin de C++ et c'est une bonne référence dans ce domaine. Les classes importées depuis le CD n'ont sûrement pas été rédigées par l'auteur du bouquin et pour ce qui me concerne je n'ai pas besoin d'écrire des fonctions friends.
Par contre je veux bien te croire si tu dis que c'est nul et qu'il ne faut pas les utiliser. Pas trop le choix pour ma part, je n'ai pas le temps de réécrire ces classes.
As-tu une réponse à la première partie de ma question ?
Où dois-je placer ce fichu <> ?
Merci beaucoup pour ton aide, à bientôt.
Jean.
Marsh Posté le 27-03-2008 à 08:07:22
de tête, c'ets loin les friends pr moi.
Code :
|
Cette syntaxe indique au compilo que l'ensemble des paramètres template sont déductibles (non pas des impôts) de la liste d'arguments.
Je mets pas en doute la qualité de la partie finance, mais quand je vois des codes comme çà, ca me fait dire que le gars qui a ecrit les sources est un débile fini.
Marsh Posté le 26-03-2008 à 11:00:02
Bonjour,
désolé de vous dérangez avec un problème que je maitrise assez mal.
Je travaille sur un modèle de produit financier et pour cela j'ai eut besoin d'importer des classes de structure de données depuis le CD d'un bouquin assez sérieux.
Malheureusement j'ai des erreurs de compilation et certains problèmes sont un peu trop techniques pour moi, j'ai beau cherché sur Internet et je ne trouve pas de solution.
L'erreur en question se trouve dans un fichier nommé Set.hpp :
Comme vous le voyez l'auteur définit certains opérateurs mais ce morceau de code produit des erreurs du type :
[Warning] friend declaration `Set<V> Intersection(const Set<V>&, const Set<V>& )' declares a non-template function
[Warning] (if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning
Premièrement, je ne comprend pas ce message et je ne vois pas où je dois ajouter le <> en question (j'ai testé plusieurs possibilité mais ça ne fonctionne pas).
Deuxièmement, j'ai une autre erreur dans le même fichier et dans le .cpp associé, je me demande si c'est lié à ce problème ou non :
Ces définitions d'itérateurs dans le .hpp produisent le message d'erreur suivant:
In member function `Set<std::pair<V, V2> > Set<V>::CartesianProduct(const Set<V2>& )':
expected `;' before "iOuter"
J'ai les meme message d'erreur à chaque déclaration d'itérateur dans le fichier Set.cpp.
Merci beaucoup pour votre aide.
Bonne journée,
Jean.