我愿意
- 创建类/结构项数组 (
c1
) - 然后创建一个指向原始数组(
*cp1
)的指针数组,该数组可以进行排序 - 然后从函数内访问类的成员。
但是我陷入了初始函数调用。
这是我的基本代码:
struct Car
{
int speed;
};
Car c1[5];
Car *cp1[5];
int main() {
for (int i=0;i<5;i++) {
c1[i].speed = i;
cp1[i] = &c1[i];
}
garage(cp1, 5);
}
void garage(Car **ar, int n) {
int p = (*ar[n / 2])->speed;
}
最佳答案
首先,您的 garage
函数在您调用它的地方不为编译器所知,因为它是在 main
下定义的。要修复这个问题,要么将函数定义放在 main 之上,要么用原型(prototype)引入它。
其次,在 int p = (*ar[n/2])->speed;
行,*ar[n/2]
不是指针,因此您应该使用 .
而不是 ->
,如 int p = (*ar[n/2]).speed;
关于c++ - 如何通过指针从函数访问类的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33408970/