实现以下代码时遇到错误:package mainimport ( "fmt" )type Struct struct { a int b int}func Modifier(ptr *Struct, ptrInt *int) int { *ptr.a++ *ptr.b++ *ptrInt++ return *ptr.a + *ptr.b + *ptrInt}func main() { structure := new(Struct) i := 0 fmt.Println(Modifier(structure, &i))}这给了我一个关于“无效的ptr.a间接值(类型int)...”的错误。还有为什么编译器没有给我关于ptrInt的错误?提前致谢。
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
做就是了
func Modifier(ptr *Struct, ptrInt *int) int {
ptr.a++
ptr.b++
*ptrInt++
return ptr.a + ptr.b + *ptrInt
}
你实际上是试图运用++上*(ptr.a)和ptr.a是一个int,而不是一个指针为int。
您可能已经使用过,(*ptr).a++但这不是必需的,因为Go会自动解决ptr.aifptr是一个指针,这就是为什么您没有->Go的原因。
- 1 回答
- 0 关注
- 163 浏览
添加回答
举报
0/150
提交
取消