我正在尝试根据示例创建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);
那么,如何解决这个问题呢?
答案 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);