Эта ошибка происходит, когда вы вызываете функцию без правильных аргументов ввода или вывода, или если существует ошибка в функциональной подписи в заголовочном файле.
Например, функциональная подпись для функции addStructByRef
в shrlibsample
:
[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)