gpt4 book ai didi

pointers - 无法通过结构方法替换指针

转载 作者:数据小太阳 更新时间:2023-10-29 03:43:20 26 4
gpt4 key购买 nike

得到一个返回指针的结构方法:

func (d *DataMap) Get(p Coord) *CellData {
return &d.Data[p.X+(p.Y*d.Size)]
}

d.Data 是一个 CellData 数组,它是一个具有多个字段的结构。使用这种方法我可以修改每个字段的内部值,即:

example.Get(p).Something = 123

但是我不能这样做:

example.Get(p) = *yada (yada is a *CellData)

我想用我得到的另一个指针替换指针的地方:

cannot assign to example.Get(p)(undefined)

我做错了什么?函数的输出已定义,不知道为什么会出现该错误。现在我通过直接访问数组解决了这个问题。

谢谢。

最佳答案

Get 返回一个指针,所以如果你想存储到该指针指向的任何地方,你需要在开头添加一个 *(指针解引用):

*(example.Get(p)) = *yada

关于pointers - 无法通过结构方法替换指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54832362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com