Champ d'une structure comme paramètre d'une fonction d'une classe ?
Bonjour,
Je ne trouve pas de solution à un problème qui n'en a peut-être pas... Un exemple vaudra mieux qu'une longue explication :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| struct MaStructure
{
static double champ_1;
static double champ_2;
static double champ_3;
};
class MaClasse
{
map<int, MaStructure> conteneur;
public :
vector<double> MaFonction(double MaStructure:: *arg)
}
vector<double> MaClasse::MaFonction(double MaStructure:: *arg)
{
vector<double> monVector;
for (map<int, MaStructure>::iterator it = conteneur.begin(); it != conteneur.end(); ++it)
monVector.push_back(it.value().*arg);
return monVector;
} |
Et si ce type de manip est possible (?), je sèche sur l'argument à l'appel de cette fonction :
Code:
1 2 3
|
MaClasse *classe = new Classe();
classe->MaFonction(????); // rien ne fonctionne |
Si je ne trouve pas de solution, il faudra que je décline MaFonction autant de fois qu'il y a de membres à MaStructure, en remplaçant chaque fois it.value().*arg par it.value().champ_1, it.value().champ_2, etc..., ce qui ne me semble pas une bonne pratique.
J'avoue que je n'ai rien trouvé dans les forums anglo-saxons qui parle de ça, ni de près, ni de loin...
Bonne fin de journée à tous