Bonjour.

J'aimerais savoir s'il est possible qu'un constructeur, si une conditon n'est pas validée, ne crée pas l'instance ?
Par exemple,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 class Personne
{
public:
  ... 
  Personne()=delete; //pour ne pas utiliser le constructeur pas défaut
  Personne(std::string nom; std::string prenom);
  ...
private:
  ...
  std::string nom;
  std::string prenom;
 ...
}
 
...
Personne personne1 {"","toto"};
...
le constructeur voit que nom est vide et donc ne crée pas l'instance.

Est-ce possible? sinon comment faut-il procéder?

Olivier]