На этот вопрос уже есть ответы здесь:
Решение проблемы
Эта линия
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 *
Комментариев нет:
Отправить комментарий