Bonjour à tous !
J'ai besoin de vous pour un projet de la fac, je dois faire un logiciel de retouche d'image sur le format ppm.
J'ai un soucis au niveau de ma classe image qui est un template : elle contient des fonctions amies et G++ me signal ca comme potentiellement anormale, j'ai un peu peur que lors du teste du programme, tout plante à cause d'une mauvaise declaration de ma part du coup ...
Voici comme j'ai fait :
__________.hpp
__________.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <iostream> template<int N> class image { mes_attribut; public: //fct amie friend void save(image, std::string); };
l'erreur est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include <iostream> template<int N> void save(image<N> pic, std::string path) {}
"friend declaration 'void save(image<N>, str::string)' declares a non-template function"
"if this is not what you intended, make sur the function template has already been declared and add <> after the function name here"
Mon second problème viens du type des images, les images PPM peuvent être des images en noir et blancs (P1) ou couleur(P3), j'ai personnelement choisi de developper une classe "base" qui représente une matrice de nombres, puis image qui est un tableau de N base. Aucun soucis pour ça, SAUF pour le bouton "ouvrir". Bah voui, je sais pas à l'avance si c'est un P1 ou un P3, donc le type de retour de "ouvrir", je le connais pas ...
J'ai vu sur le net qu'on pouvais utiliser comme type de retour, un mot clé "object", mais je n'ai trouvé aucun exemple ... un peu d'aide svp ?
Merci d'avance !!
Partager