This question already has answers here:
How to get the pointer of return value from function call?
(3个答案)
3年前关闭。
我不明白为什么下面的代码片段没有编译。编译器指出:
代码:
但是,将函数的结果存储在辅助变量中并返回该变量的地址,编译器的行为就可以了。
(3个答案)
3年前关闭。
我不明白为什么下面的代码片段没有编译。编译器指出:
cannot take the address of getAString()
代码:
func getAStringPointer() *string {
return &getAString()
}
func getAString() string {
return ""
}
但是,将函数的结果存储在辅助变量中并返回该变量的地址,编译器的行为就可以了。
func getAStringPointer() *string {
var aString = getAString()
return &aString
}
func getAString() string {
return ""
}
最佳答案
您不能将&
应用于这样的值(除非它是复合文字)。从规范:
关于function - 为什么我无法将地址运算符(&)应用于函数直接返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43282057/
10-12 15:33