Je suis novice en C++ et ma question est peut-être triviale, mais je n'ai pas trouvé de solution. J'ai deux classes, S
et L
. S
ressemble à ceci:Initialisation de la classe à l'intérieur de la classe
class S
{
private:
int m_x;
public:
S(int x) : m_x(x)
{
}
int m_y = 2*m_x; // some random action in S
};
Maintenant, j'ai une deuxième classe L
, où je veux initialiser un S
-object:
class L
{
private:
S s(10); // 10 is just some random value
int m_y;
public:
L(int y): m_y(y)
{
}
// ignore the rest for now.
};
Cela produit une erreur error: expected identifier before numeric constant
à la ligne d'initialisation de s(10)
.
Je ne comprends pas pourquoi je ne peux pas faire ça. Comment pourrais-je résoudre ce problème? Et si je voulais initialiser l'objet S s(m_y)
à la place?
Déplacer l'initialisation de '' s' dans le constructeur de L'. – DimChtz
Essayez d'initialiser 's' dans le constructeur de la classe' L'. – wdc