Traverse cell array of structures of ... in mex
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Does anyone have a nice .mex example where we pass in a cell array of struct, and interrogate fields in each structure?
This mex newby is baffled as to why mxIsStruct returns false when the following is passed a cell array of struct:
void blah(mxArray* X)
mxArray* pm;
mwIndex i;
i = 1;
pm = mxGetCell(X,i);
if (~mxIsStruct(pm)) {
mexErrMsgTxt("Not a structure");
}
1 comentario
Respuesta aceptada
Jan
el 16 de Mzo. de 2011
You are talking about C, not Matlab. In C the NOT operator is "!", not "~".
if (~mxIsStruct(pm)) % Bad
if (!mxIsStruct(pm)) % Good
The tilde ~ is the bitwise complement in C.
Más respuestas (3)
Kaustubha Govind
el 15 de Mzo. de 2011
The example phonebook.c accepts an array of structs and returns a cell array - this should serve as a good starting point.
0 comentarios
James Tursa
el 16 de Mzo. de 2011
C is 0-based indexing. You have this in your code:
i = 1;
Are you sure you have two elements in X? Or did you mean:
i = 0;
0 comentarios
Ver también
Categorías
Más información sobre Function Creation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!