Я принимаю access violation reading location 0x0000000000000001
Ошибка, которая ломается в функции memcpy( src, (double*) data, sizeof(double));
. Может ли кто-нибудь помочь мне в этом? Обратите внимание, что функции mx связаны с MATLAB в c.нарушение доступа к считыванию местоположения 0x0000000000000001
Обратите внимание, что данные должны быть Short
Вот часть моего кода ...
Engine *ep;
mxArray *T = NULL;
double *src;
Short data = { 1 };
src = mxGetPr(T);
memcpy( src, (double*) data, sizeof(double));
if (!(ep = engOpen(NULL)))
{
exit(-1);
}
T = mxCreateDoubleMatrix(1, 1, mxREAL);
src = mxGetPr(T);
memcpy( src, (double*) data, sizeof(double));
engPutVariable(ep, "T", T);
engEvalString(ep, "T");
Мне очень не совсем понятно, что вы хотите этот код делать. Избежать нарушения прав доступа тривиально. Сделать это на самом деле делать то, что вы хотите, зависит от того, что вы хотите. Вызов 'mxGetPr (T)', когда 'T == NULL' выглядит очень подозрительно. Что это должно делать? – hvd
Нет языка C/C++. Удаление тега C++. – fuz