我正在尝试获取指向结构体中数组的指针,但是执行*(struct->array)
给我一个错误。
这是代码:
#include <iostream>
using namespace std;
struct Numbers {
int highest;
int lowest;
int list[10];
};
void print_pointer_to_first_number(const Numbers* num) {
cout << num.list << endl;
}
int main() {
Numbers numbers;
numbers.highest = 10;
numbers.lowest = 1;
print_pointer_to_first_number(numbers);
return 1;
}
我收到一条错误消息:
错误:成员引用类型'const Numbers *'是一个指针;您是要使用'->'吗?
不允许在函数中更改参数。
答案 0 :(得分:0)
您将希望将Numbers用作引用而不是指针(基本上相同,但语法更好):
void print_pointer_to_first_number(const Numbers &num)
或者,您可以将其保留为指针,但是您需要(1)正确地取消引用它:
num->list
和(2)在调用它时传递一个指针:
print_pointer_to_first_number(&numbers)