我正在 Ada 中为数据结构和算法课程制作一个程序。
我目前的问题是错误“这个”的实际值必须是一个变量” 我环顾四周,我读到它是因为在 out模式下,但我并不完全理解为什么它会发生在我身上。
我看到的示例是有道理的,但我想因为这是我的编码,我只是没有看到它?
Procedure AddUnmarked(g:Grid; this:Linked_List_Coord.List_Type; c:Cell) is
cNorth : Cell := getCell(g, North(c));
cEast : Cell := getCell(g, East(c));
cSouth : Cell := getCell(g, South(c));
cWest : Cell := getCell(g, West(c));
Begin
if CellExists(g, cNorth) and not cNorth.IsMarked then
Linked_List_Coord.Append(this, cNorth.Coords);
elsif CellExists(g, cEast) and not cEast.IsMarked then
Linked_List_Coord.Append(this, cEast.Coords);
elsif CellExists(g, cSouth) and not cSouth.IsMarked then
Linked_List_Coord.Append(this, cSouth.Coords);
elsif CellExists(g, cWest) and not cWest.IsMarked then
Linked_List_Coord.Append(this, cWest.Coords);
end if;
End AddUnmarked;
在“this”被传递给函数之前,它是我自定义类型 Coord(2 个整数)的 Linked_List。在我的代码中将列表传递给上面的函数之前,它已被初始化并添加了一个坐标对。