我正在尝试为未知大小的数组分配内存,该数组是类的数据成员。 数据成员是:
PassengerCompartment** pass_comp;
在我要分配数组的类 (Plane) 的复制构造函数中,我有这个:
(“给定”是一个 const Plane&)
pass_comp = new PassengerCompartment*[given.NOofAlloc_PasCom];
for (int i=0; i < NOofAlloc_PasCom; i++)
{
pass_comp = new PassengerCompartment( given.(*pass_comp[i]) );
}
我得到了这个编译器错误:
error: expected unqualified-id before ‘(’ token
在这一行:
pass_comp = new PassengerCompartment( given.(*pass_comp[i]) );
(提到的“(”是第一个,在PassengerCompartment之后)
我做错了什么?
感谢您的宝贵时间!
最佳答案
肯定不是第一个括号,而是第二个,因为 given.(*pass_comp[i])
不是有效语法。也许您的意思是 *given.pass_comp[i]
(取消引用 given.pass_comp[i]
)?
哦,您可能还希望在赋值运算符之前使用 pass_comp[i]
而不是 pass_comp
。
关于c++ - 尝试使用新构造函数和复制构造函数分配内存时获取 "expected unqualified-id before ‘(’ token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9211125/