Error del compilador C2073
'identifier': los elementos de la matriz inicializada parcialmente deben tener un constructor predeterminado
Comentarios
Se especificaron demasiado pocos inicializadores para una matriz de tipos definidos por el usuario o constantes. Si no se especifican un inicializador explícito y su constructor correspondiente para un miembro de matriz, se debe proporcionar un constructor predeterminado.
Este error del compilador está obsoleto en Visual Studio 2022.
Ejemplo
El ejemplo siguiente genera C2073. Archivo de origen C2073.cpp
:
// C2073.cpp
class A {
public:
A( int ); // constructor for ints only
};
A a[3] = { A(1), A(2) }; // C2073, no default constructor
Aquí se muestra una corrección en el archivo de código fuente C2073b.cpp
:
// C2073b.cpp
// compile with: /c
class B {
public:
B(); // default constructor declared
B( int );
};
B b[3] = { B(1), B(2) }; // OK