我正在将科学代码从Java迁移到C++。请告诉我:
C++中对象的二维数组
a)这两个函数有什么问题?
b)我该如何解决问题?我可以使用int**
像二维数组,但不是Agent**
。
我收到此错误:“无运算符=匹配此操作数”。
在正常的C中,我们可以为指针指定NULL。我们也可以使用类似二维阵列的type**
(即a[i][j]
)(objectSpace
的二维空间,而agentSpace
分配给其他地方)。
int** objectSpace;
Agent** agentSpace;
void Space::removeAgentAt(Point p)
{
agentSpace[p.x][p.y] = NULL;
}
void Space::putAgentTo(Agent agent, Point p)
{
agentSpace[p.x][p.y] = agent;
}
奥利,我需要有代理人的数组和修改数组以示出在该空间是代理。 你能不能给一点意见或善意的解决方案? – wmac
@wmac你知道编译时的数组维数,还是只在运行时?使用标准库容器可能会更好。 – juanchopanza
不幸的是尺寸未知,但空间太大。它可能包含1000 * 1000个单元格。我认为这对于容器来说太过分了。 – wmac