从双指针调用函数

Calling functions from a double pointer

本文关键字:函数 调用 指针      更新时间:2023-10-16

我创建了一个指向自己创建的类的指针,这个类指向这个类的动态指针数组。我正在尝试使用我创建的类(Student)的函数。

Student **list;
list[i] = TextToClass(tempCourse);
list[i].SetCourse(x);
list[i].SetGrades(inFile);

作业成功。但是使用这些函数不起作用。我该如何使用它们的函数呢?

错误如下:

student.cpp: In member function ‘void Controller::ReadAndStore()’:
student.cpp:119: error: request for member ‘SetCourse’ in ‘((Controller*)this)->Controller::list[i]’, which is of non-class type ‘Student*’
student.cpp:121: error: request for member ‘SetGrades’ in ‘((Controller*)this)->Controller::list[i]’, which is of non-class type ‘Student*’

你试过吗?

list[i]->SetCourse(x);
list[i]->SetGrades(inFile);

什么是list[i] ?也许如果它是一个指针,如你所说,你应该使用list[i] -> SetCourse(x); ?

不要羞于发布你的一些代码,而不是描述你想做什么。如果它能达到你的目的,你就不会问问题了。

由于Student **list是指针指向的指针,那么list[i]应该是指针。所以它的方法应该用符号"->"来调用,就像上面的答案一样。