(错误)没有匹配的签名
如果您调用的函数没有正确的输入或输出参量,或者头文件中的函数签名中存在错误,则会发生此错误。
例如,shrlibsample
中 addStructByRef
函数的函数签名为:
[double, c_structPtr] addStructByRef(c_structPtr)
加载库。
addpath(fullfile(matlabroot,'extern','examples','shrlib')) loadlibrary('shrlibsample')
创建一个结构体,并调用 addStructByRef
。
struct.p1 = 4; struct.p2 = 7.3; struct.p3 = -290;
如果您在不带输入参量的情况下调用该函数,MATLAB® 将显示错误消息。
[res,st] = calllib('shrlibsample','addStructByRef')
Error using calllib No method with matching signature.
正确的调用是:
[res,st] = calllib('shrlibsample','addStructByRef',struct)