Maison >développement back-end >C++ >Pourquoi mon programme C renvoie-t-il une erreur « Constructeur sans arguments » ?
Comprendre l'erreur « Constructeur sans arguments »
Lors de la compilation d'un programme C avec un constructeur sans arguments en utilisant g dans Cygwin, vous peut rencontrer le message d'erreur énigmatique : "erreur : demande du membre 'fonction1' dans 'myObj', qui est de type non-classe 'MyClass ()()'".
Cette erreur provient d'un malentendu concernant la syntaxe des déclarations de constructeur en C . Selon le standard du langage, la syntaxe ambiguë "MyClass myObj();" peut être interprété soit comme une définition d’objet, soit comme une déclaration de fonction. Cependant, la norme résout cette ambiguïté en donnant la priorité à l'interprétation de la déclaration de fonction.
Par conséquent, pour éviter cette erreur, vous devez déclarer explicitement votre objet sans parenthèses, comme suit :
MyClass myObj;
Cette déclaration précise que "myObj" est un objet de type "MyClass" et non une déclaration de fonction.
En résumé, l'erreur "Constructor with No Arguments" se produit lorsque le compilateur interprète mal la syntaxe de la déclaration d'objet et la résout en tant que déclaration de fonction. Pour éviter cette erreur, assurez-vous de déclarer vos objets sans parenthèses pour les constructeurs sans arguments.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!