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.

Reply via email to