我使用一些外部的C++代码内通过Matlab的通过coder.ceval称之为:coder.ceval结构需要指针
coder.ceval('myCppFuncName', coder.wref(mySruct))
这工作只要完美地MYSTRUCT东西简单为
myStruct.a = 0;
myStruct.b = 1;
现在我有这是在C++头文件struct.h定义的结构:
typedef struct
{
double x;
double y;
} myPoint;
typedef struct
{
int num_points;
myPoint *points; // pointer to array of myPoint-structs
} myStruct;
我不知道如何在Matlab中表示C++结构体的指针。当我需要定义在Matlab的结构,我想喜欢的东西:
coder.cstructname(matlab_myPoint,'myPoint','extern');
coder.cstructname(matlab_myStruct,'myStruct','extern');
matlab_myPoint= struct('x',0,'y',0);
matlab_myStruct = struct('num_points',2,'points',myPoint);
一个错误消息结束
错误C2440:“=”:无法从“myPoint”转换为“myPoint * '
在原始的C++结构中,使用了一个指向结构数组的指针。我怎样才能在Matlab出生的结构中重现这种关系?谢谢!