6
我試圖返回數組的一個片段的引用,但正在以下編譯時錯誤(其中違規行爲slice
如何在Chapel中返回對數組切片的引用?
test.chpl:9: error: illegal expression to return by 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 Version 1.16.0 pre-release (2659cc6)
只是一個快速跟進 - 看來我可以返回一個裁判片一個迭代器(使用'ref' return intent)。這與從'proc'返回有趣的區別.... –