Main Content

(错误)没有匹配的签名

如果您调用的函数没有正确的输入或输出参量,或者头文件中的函数签名中存在错误,则会发生此错误。

例如,shrlibsampleaddStructByRef 函数的函数签名为:

[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)

另请参阅

|