C++ コードに問題があります。cpp プログラムから Matlab に k 次元の行列を返したいです。
渡したい行列は に格納されておりall_data
、サイズは の行列です(npoints+1) x ndims
。
私はそれを行う方法を探していましたが、思いついたのは次のとおりです。
//send back points
vector< vector <double> > indexes = mxGetPr(plhs[0]);
for (int i=0; i < (npoints1+1); i++)
for (int j=0; j < ndims1; j++)
indexes[ i ][ j ] = all_data[ i ][ j ];
all_data
しかし、変数のように機能せずvector<vector<double>>
、matlab は次のように述べています。
error: conversion from 'double*' to non-scalar type
'std::vector<std::vector<double, std::allocator<double> >,
std::allocator<std::vector<double,
std::allocator<double> > > >' requested
誰かが私を助けることができますか?どうもありがとう!