我正在尝试创建一个将从结构数组中删除项目的函数。当我输入一个数字(scanf(“%d”,num))时,会弹出一个窗口,提示我断言失败并中止该程序。下面的指示行上有警告,但并没有阻止程序进行编译。程序崩溃时,错误显示在同一行上:
int N = 10;
std::vector<T*> vec(N);
std::for_each(vec.begin(), vec.end(), [](auto &ptr){
ptr = new int;
});
我通过以下方式调用函数:
void delete_stud(Student* s, int lsize)
{
int num = 0;
printf("What number student in the list would you like to delete?\nStudent number: ");
scanf("%d", num);
// This line ^^^
if (num <= lsize) {
for (int i = num; i <= lsize; i++) {
s[i - 1] = s[i];
}
lsize--;
}
else {
printf("Invalid value entered\n");
exit(0);
}
}
任何帮助将不胜感激。
答案 0 :(得分:1)
delete_stud(class_list, lsize);
注意与号。