Нет соответствующей ошибки сигнатуры

Эта ошибка возникает, когда вы вызываете функцию без правильных входных или выходных аргументов, или если есть ошибка в сигнатуре функции в заголовочном файле.

Для примера - сигнатура функции для 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)

См. также

|