在我的程序中,我有一个网格类(例如myGrid
),我可以通过重载operator()
. 我的问题是每次我调用myGrid(x, y)
它返回对单元格的引用时,我都需要声明一个单元格引用。
cell& myCell = myGrid(x,y);
myCell.status = currentStatus;
这样做我得到了一个错误:
(myGrid(x,y)).status = currentStatus;
我需要非常频繁地使用单元格中定义的函数。因此,每次我需要声明一个单元格引用,这使得我的代码看起来很紧急。有什么优雅的方法来解决这个问题吗?非常感谢。干杯!
对不起。有一个错字。假设 status 是单元格中的公共变量,并假设 currentStatus 是与 status 类型相同的变量。
Grid 是一个预定义的类,我无权修改它。它返回对单元格的引用。例如 cell& operator()(int x, int y)
对混乱感到抱歉。myGrid(x,y).status 有效。我之前在某个地方犯了一个错误。当我遵守它时,错误发生在这一行。非常感谢!