Имеется следующий код
...
extern void CreateTrellis(int nOut, mxArray *pOut[],
int nIn, const mxArray *pIn[]);
...
mxArray *Pol2Trel[2];
Pol2Trel[0] = K_mx;
Pol2Trel[1] = Gen_mx;
mxArray *Trellis[1];
CreateTrellis(1, Trellis, 2, Pol2Trel);
...
где mxArray — некая структура.
При компиляции выдается ошибка
error C2664: 'CreateTrellis' : cannot convert parameter 4 from 'struct mxArray_tag *[2]' to 'const struct mxArray_tag *[]'
Conversion loses qualifiers
Как правильно вызвать функцию 'CreateTrellis'?
Здравствуйте, Случай, Вы писали:
С>Имеется следующий код
С>С>...
С>extern void CreateTrellis(int nOut, mxArray *pOut[],
С> int nIn, const mxArray *pIn[]);
С>...
С>mxArray *Pol2Trel[2];
С>Pol2Trel[0] = K_mx;
С>Pol2Trel[1] = Gen_mx;
С>mxArray *Trellis[1];
С>CreateTrellis(1, Trellis, 2, Pol2Trel);
С>...
С>
С>где mxArray — некая структура.
С>При компиляции выдается ошибка
С>С>error C2664: 'CreateTrellis' : cannot convert parameter 4 from 'struct mxArray_tag *[2]' to 'const struct mxArray_tag *[]'
С> Conversion loses qualifiers
С>Как правильно вызвать функцию 'CreateTrellis'?
Просто:
С>extern void CreateTrellis(int nOut, mxArray *pOut[],
С> int nIn, const mxArray *pIn[]);
С>...
С>const mxArray *Pol2Trel[2];
С>Pol2Trel[0] = K_mx;
С>Pol2Trel[1] = Gen_mx;
С>mxArray *Trellis[1];
С>CreateTrellis(1, Trellis, 2, Pol2Trel);
или убрать const из определения функции
extern void CreateTrellis(int nOut, mxArray *pOut[], int nIn, mxArray *pIn[]);