GOOGLE ADS

понедельник, 9 мая 2022 г.

C++ Не удается инициализировать динамический массив структур [дубликат]







На этот вопрос уже есть ответы здесь:


Решение проблемы

Эта линия

article* articleArr = new article[N];

Пытается вызвать конструктор по умолчанию, но у вас его нет.

Вам нужно добавить

struct article {
int uId;
char uName[201];
article() {
/// whatever code is needed to initalize an empty article
}
article(int Id, char* name) { uId = Id;
for(int i=0;name[i]!='\0';i++)
{
uName[i]=name[i];
}
}
};

С++ обычно автоматически делает это для yo, но поскольку вы указали конструктор, С++ не создал никаких других

Кстати, вам действительно следует использовать std::vectorвместо «нового массива», его гораздо проще и безопаснее использовать.

то же самое верно для std::stringвместо гологоchar *

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...