On Thursday, 20 February 2014 at 16:55:51 UTC, Andrea Fontana
wrote:
On Thursday, 20 February 2014 at 16:47:43 UTC, bearophile wrote:
Andrea Fontana:
I have a C api that need a int** params that represent a
int[][]. How can I convert from d to c to pass it? For simple
arrays, array.ptr seems to work...
One way to do it (untested):
int** pp = myDArray.map!(a => a.ptr).array.ptr;
Bye,
bearophile
Ok, so it seems there's no "built-in" ways...
You can't do it without allocation because memory layout is
different for int** and int[][] in D - are.ptr in latter points
to slice struct (pointer+length) as opposed to raw pointer in
former.