[英]Accessing a array of Structs using pointer notation
我正在尝试自己学习 C++ 并且正在尝试这个。 我有一个结构,其成员是另一个结构的数组。 我有一个关于替代符号的问题。
我定义的结构是
struct employeeRecordT {
string name;
string title;
string ssnum;
double salary;
int withholding;
};
struct payrollT {
int num;
employeeRecordT *array;
} payroll;
我使用以下结构将 memory 分配给工资单
payroll.array = new employeeRecordT[payroll.num];
其中 payroll.num 表示数组中元素的数量。 我可以使用数组表示法访问employeeRecordT 的元素名称,例如
payroll.array[i].title
我想知道如何使用指针表示法访问它,我试过了
payroll.(array+i)->name = "Vikas";
我从 g++ 收到以下错误消息
toy.cc:30:13: 错误: '(' token toy.cc:30:14: 错误: 'array' 未在此 scope 中声明之前的预期 unqualified-id
我试图了解我应该使用什么以及为什么? 各位大侠帮忙解释一下。
提前致谢。
问候, 维卡斯
(payroll.array+i)->name = "Vikas";
array
是payroll
的成员,因此当您执行payroll.(array+i)
时,括号表示法(即“首先执行此操作”)试图使用变量array
,而不是payroll
中的变量 array 。
当然,使用C++,更好的解决方案是Neils。 如果可能,请使用 std::vector 而不是您自己的动态分配的存储。
如果它很痛,请不要这样做。 请改用结构的 std::vector 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.