Bonjour,

Je n'arrive pas à définir un objet avec un constructeur, comme membre d'une classe.
Petit exemple pour être plus clair :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Personne
{
     public:
          Personne (char sonSexe) : sexe(sonSexe) {}
     private:
          char sexe;
};
 
class Couple
{
     private:
          Personne homme ('M'),
                   femme ('F');
};
Le compilateur Visuel C++ me renvoie l'erreur à la ligne "Personne homme('M')," :
error C2059: erreur de syntaxe*: 'constante'
Je pense que, après avoir analysé "Personne homme (", le compilateur croit que je vais déclarer une fonction membre qui retourne une Personne. Il s'attend donc que je déclare les paramètres de la fonction après la parenthèse ouvrante, et donc que ce qui suit la parenthèse ouvrante soit un type et non une constante.

Comment dois-je faire pour créer un objet membre en faisant appel à un constructeur ?

Merci d'avance pour votre aide.