我正在尝试返回对数组切片的引用,但出现以下编译时错误(违规行在slice
test.chpl:9:错误:通过 ref 返回的非法表达式
返回完整数组可以正常工作,就像在主程序中引用切片一样。
是否有正确的方法将 ref 返回到切片?提前致谢!
record R {
var A : [0.. #10] int;
proc full() ref {
return A;
}
proc slice() ref {
return A[0.. #5];
}
}
var r : R;
ref x1 = r.full();
ref x2 = r.slice();
ref x3 = x1[0.. #5];
只是为了完整性:
chpl 版本 1.16.0 预发行版 (2659cc6)