【发布时间】:2015-04-16 19:55:45
【问题描述】:
我正在尝试将类存储在 2d 数组中,但带有空字段或孔,即根本没有内容的字段。由于类本身很大,我决定用指向类的指针填充向量,因此空字段可以简单地写为 NULL。 我立刻撞到了墙上。 如果我尝试像这样初始化向量的第一个值:
myVector[0][0]* = classToBeCopied;
我收到以下错误: “语法错误” "'=' 标记之前的预期主表达式"
我确实有一个适用于该类的副本构造函数和 operator=。 (我正在使用 Eclipse Luna) 提前谢谢!
【问题讨论】:
-
那是什么
*?你的意思是myVector[0][0] = &classToBeCopied;? -
如果您只想存储副本,为什么不将其声明为
std::vector<std::vector<class_type>>以使副本成为默认值?存储指针似乎适得其反。 -
@Antonio 我认为 OP 正在尝试取消引用存储在嵌套
vector中的指针以触发复制赋值运算符。 -
@Antonio ^James Adkins 是正确的。由于各种原因,使用引用可能会变得混乱。
-
@BigBadWolf 放在那里,
&不是参考,而是“地址”。你可以找到一个很好的解释here