je suis en train de construire une fonction de modèle à usage général qui devrait fonctionner avec 2 différents type de structure que je vais écrire un exemplefonctions de modèle, comment envoyer différentes structures et créer une instruction if/else basée sur le type?
struct sa {
int a;
int b;
char d;
}
struct sb {
int a;
int b;
int c;
}
template < class T>
void f_print(T & s_passed, bool s_typeB){
std::cout << s_passed.a << endl ;
std::cout << s_passed.b << endl ;
if(s_typeB == false){
std::cout << s_passed.d << endl ;
}else{
std::cout << s_passed.c << endl ;
}
}
puis dans le principal:
{
struct sa str_TEST_A ;
struct sb str_TEST_B ;
f_print(str_TEST_A,false);
f_print(str_TEST_B,true);
}
maintenant, c'est un court exemple de mon problème où je gère des structures beaucoup plus compliquées, de toute façon ce que je reçois est erreur: 'struct sa' n'a pas de membre nommé 'd'
le problème est que le compilateur gnu C++ n'a pas reconnaître ize que toutes les opérations de la fonction ne sont pas exécutées quand struct sa est passée, et que d est imprimé seulement quand sb est passé, comment je peux résoudre ceci sans créer une fonction dupliquée 1 pour chaque type de structure?
merci :) Francesco
Vous avez les deux fonctions avec 'sa &' –
merci c'est pas mal, peut-être je peux arranger quelque chose comme ça pour certaines fonctions et pour d'autres je vais devoir dupliquer;) Merci :) – Francesco