raku - NativeCall 子绑定中的“通过的位置太多”
问题描述
我有这个定义:
use NativeCall;
unit module kazmath;
class mat4 is repr('CStruct') {
HAS num32 @.mat[16] is CArray;
}
sub kmMat4Fill( mat4 $mat, num32 @filler ) returns mat4 is native('kazmath')
is export {*}
绑定的函数在这里定义:
kmMat4* kmMat4Fill(kmMat4* pOut, const kmScalar* pMat);
并且返回的错误是:
Too many positionals passed; expected 2 arguments but got 3
我真的想不通。
解决方案
这是固定的
sub kmMat4Fill( mat4 $mat, CArray[num32] $filler )
returns mat4 is native('kazmath') is export {*}
Positionals 不能在 NativeCall 中使用,但错误消息仍然是 LTA(Less Than Awesome)。
推荐阅读
- javascript - 在调用 `disconnectedCallback` 之前,可以多次调用自定义元素的 `connectedCallback` 吗?
- mysql - 使用 apache24 时出现 WordPress 安装错误
- c# - Local and deployed Web App seem to use different CSSs
- python - create a json out of a list of lists with many level os nesting
- excel - 使用python从excel列中制作一个向量
- iis-express - 如何停止 IISExpress 重写/重定向
- c# - 在新的类库项目中存在参考问题
- reactjs - React-native 不使用 Redux 操作重新渲染
- python - Django manage.py test: “database backend does not accept 0 as a value for AutoField” (mysql)
- python - Printing a new column in a csv file with difference of two previous indexes from another column