Disons que j'ai une classe définie comme suit:
class foo{};
maintenant, ce qui est parfaitement acceptable;
foo f;
comment se fait-c'est une erreur de compilateur? (uninitialized const ‘f'
)
const foo f;
Pourquoi devons-nous faire cela?
const foo f = foo();
Je sais pourquoi nous ne pouvons pas faire cela..
const foo f(); // though it compiles..
Fait intéressant, le suivant est valide:
const std::string f;
Donc, qu'est-ce que manquant de foo
?
Je me rends compte qu'il y a trois questions là et c'est une mauvaise forme, mais je suis en espérant que quelqu'un peut éclaircir ce point pour moi en une seule réponse.
EDIT: n'hésitez pas à la fermer si c'est stupide...