创建mwArray的问题

时间:2015-06-24 11:14:58

标签: c++ matlab

我正在尝试根据示例创建mwArray

double data[] = {1,4,2,5,3,6};
mwArray C(2, 3, data); // matrix constructor

第二行出错:

error: C2664: 'mwArray::mwArray(array_ref *,bool)' : cannot convert argument 3 from 'double [6]' to 'mxClassID' There is no context in which this conversion is possible

我可以创建没有错误的单个元素的数组:

mwArray xx = mwArray(1);

那么,如何解决这个问题呢?

2 个答案:

答案 0 :(得分:1)

  

各种Matrix库函数需要或返回mxClassID参数。 mxClassID标识mxArray如何表示其数据元素。

来自here

所以,可能的解决方案是重写你的声明:

mwArray C(2, 3, mxDOUBLE_CLASS, data);

答案 1 :(得分:1)

没有构造函数接受数据初始化。相反,the docs suggest要使用SetData

mwArray C(2, 3, mxDOUBLE_CLASS);
C.SetData(data, 6);