Filter löschen
Filter löschen

Mex: Using arguments for definition an array

2 Ansichten (letzte 30 Tage)
mick strife
mick strife am 20 Apr. 2013
Hello my friends :-)
I want to use the arguments from matlab in my mex/c-code and use them to define an array. Unfortunately an error appears. Can someone pls give a an advise for this problem? Many thanks for your help!
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int sizeA;
mxArray *arg;
arg= prhs[0];
sizeA = mxGetScalar(arg);
int dim[3] = {100,3, sizeA}; // define array

Akzeptierte Antwort

James Tursa
James Tursa am 20 Apr. 2013
Bearbeitet: James Tursa am 20 Apr. 2013
Some C compilers need to have all variable declarations first, before executable statements. So try this instead:
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int sizeA;
mxArray *arg; // variable declaration
int dim[3] = {100,3, 0}; // variable declaration
arg = prhs[0];
sizeA = mxGetScalar(arg);
dim[2] = sizeA;

Weitere Antworten (0)

Kategorien

Mehr zu Write C Functions Callable from MATLAB (MEX Files) finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by