通过不相容的指针类型传递'mxcreateNumericArray'的参数2

39意见(过去30天)
Cédric奉献
Cédric奉献 2013年4月25日
你好,
我正在尝试开发一个软件,当我编译时我有以下警告:
sin_reg.c:72:2:注意:通过论证2从不兼容的指针类型[默认启用]的“mxcreateNumericArray”
来自/usr/local/r2011b/extern/include/mex.h:58:0中的文件
nmsimplex.h:33
sin_reg.c:2:
/usr/local/r2011b/extern/include/matrix.h:891:19:注:预期'const mwsize *'参数是'int *'类型
代码如下:
MWSIZE.volume_dims2 [3];
音量_dims2 [0] = n_y;
volume_dims2 [1] = 0;
音量_dims2 [2] = n_x;
音量_dims2 [3] = 0;
音量_dims2 [4] =(mwsize)2;
音量_dims2 [5] = 0;
plhs [0] = mxcreateNumericArray((mwsize)3,volume_dims2,mxdouble_class,mxreal);
怎么了?
谢谢你的帮助,卡尔奇

接受答案

詹姆斯图马
詹姆斯图马 2013年4月25日
编辑:詹姆斯图马 2013年4月25日
也许你无意中重新定义了mwsize。您在代码顶部有以下语句吗?
定义mwsize.
例如,这可能已被用于支持未具有MWSize的类型的MATL金宝appAB的早期版本。如果是这样,您可以摆脱它或如下包装:
ifndef mwsize_max.
定义mwsize.
万一
此外,您只有声明卷_dims2有3个元素,但是您将值填充到6个元素...写入阵列界限,可能导致崩溃。另外,它看起来很奇怪,你将0填充到一些元素中......是你真正打算的吗?

更多答案(1)

Cédric奉献
Cédric奉献 2013年4月25日
我显然正在检查错误的事情......
IFNDEF MWSIZE.
谢谢!
对于0的东西,我认为它在那里,因为我做了一个系统的更新,但没有重启。我重新启动了,我不再需要了。

标签

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!