C++ c++;指向字符数组的动态stuct指针
我无法将内存动态分配给指向结构的指针内的字符数组。 这是一项作业,必须使用此结构大纲:C++ c++;指向字符数组的动态stuct指针,c++,arrays,dynamic,C++,Arrays,Dynamic,我无法将内存动态分配给指向结构的指针内的字符数组。 这是一项作业,必须使用此结构大纲: struct Student { char *namePtr; unsigned int score; }; 这是我遇到麻烦的部分 /*************************** * takes value from temporary value and puts into dynamic allocated Student array ***************************
struct Student
{
char *namePtr;
unsigned int score;
};
这是我遇到麻烦的部分
/***************************
* takes value from temporary value and puts into dynamic allocated Student array
***************************/
bool updateStructPtr(Student **info, unsigned int index, char *name, unsigned int score)
{
try
{
info[index]->namePtr = new char [strlen(name)+1];
if(DEBUG) cout << "size for dynamic char: " << strlen(name)+1 << endl << endl;
//copy char array into new array
strcpy(info[index]->namePtr, name);
info[index]->score = score;
}
catch (bad_alloc & param)
{
info[index]->namePtr = NULL;
return false;
}
return true;
}
/***************************
*从临时值中获取值并放入动态分配的学生数组中
***************************/
bool updateStructPtr(学生**信息,无符号整数索引,字符*名称,无符号整数分数)
{
尝试
{
info[index]->namePtr=newchar[strlen(name)+1];
if(DEBUG)coutSO并不是为了帮助你完成家庭作业
话虽如此,你老师的指导是非常详细和正确的。你必须使用newstudent
和newstudent[]
在某个时刻实际更新传递给您的Student**信息
,以便添加您应该添加的新Student结构。我猜在调用函数之前,不会分配Student
实例。您必须通过new分配Student
的新实例学生
并将其存储到信息
中的索引
info[index] = new Student;