c++ - 尝试使用新构造函数和复制构造函数分配内存时获取 "expected unqualified-id before ‘(’ token

标签 c++ compiler-errors

我正在尝试为未知大小的数组分配内存,该数组是类的数据成员。 数据成员是:

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/

相关文章:

c++ - 使用桌面 OpenGL 构建 Qt 时出错

c++ - 如何删除列出的 "QGraphicsPathItem"对象以控制进程内存使用?

c++ - C++的专业品质图表库

c++ - LLVM 下的非 ASCII wchar_t 文字

c++ - 当编译器从代码中取出所有空格和注释时,GCC 如何知道错误发生在哪一行?

c - 为什么编译器说变量 "z"被重新声明为不同的变量类型?

java - 需要添加一个 add 方法,但每次都会收到不同的错误,我不知道其含义

c - 如何修复 undefined reference SetPixel()?

c++ - 泊松分布总是在每次运行时产生相同的实例

c++ - C++比较两个文件