Share via


Erreur du compilateur C2073

'identifier' : les éléments du tableau partiellement initialisé doivent avoir un constructeur par défaut

Notes

Trop peu d’initialiseurs ont été spécifiés pour un tableau de types ou de constantes définis par l’utilisateur. Si un initialiseur explicite et son constructeur correspondant ne sont pas spécifiés pour un membre de tableau, un constructeur par défaut doit être fourni.

Cette erreur du compilateur est obsolète dans Visual Studio 2022.

Exemple

L’exemple suivant génère l’erreur C2073. Fichier source C2073.cpp :

// C2073.cpp
class A {
public:
   A( int );   // constructor for ints only
};
A a[3] = { A(1), A(2) };   // C2073, no default constructor

Un correctif s’affiche ici dans le fichier C2073b.cppsource :

// C2073b.cpp
// compile with: /c
class B {
public:
   B();   // default constructor declared
   B( int );
};
B b[3] = { B(1), B(2) };   // OK