Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
"идентификатор": элементы частично инициализированного массива должны иметь конструктор по умолчанию
Замечания
Слишком мало инициализаторов было указано для массива определяемых пользователем типов или констант. Если явный инициализатор и соответствующий конструктор не указаны для элемента массива, необходимо предоставить конструктор по умолчанию.
Эта ошибка компилятора устарела в Visual Studio 2022.
Пример
В следующем примере создается C2073. Исходный файл C2073.cpp:
// C2073.cpp
class A {
public:
A( int ); // constructor for ints only
};
A a[3] = { A(1), A(2) }; // C2073, no default constructor
Исправление показано здесь в исходном файле C2073b.cpp:
// C2073b.cpp
// compile with: /c
class B {
public:
B(); // default constructor declared
B( int );
};
B b[3] = { B(1), B(2) }; // OK