Salida de una matriz con c ++ y mex

Tengo un problema con mi código c ++. Quiero devolver una matriz de k-dimensiones de mi programa cpp a Matlab.

La matriz que quiero pasar está almacenada en.all_data, y es una matriz de tamaño.(npoints+1) x ndims.

He estado buscando cómo hacer eso, y he encontrado con:

    //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 ];

Pero no funciona, comoall_data es unvector<vector<double>> variable, y matlab dice:

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

¿Alguien me puede ayudar? ¡Muchas gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta