convert int[][] to int**
Dicebot
public at dicebot.lv
Thu Feb 20 09:02:09 PST 2014
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.
More information about the Digitalmars-d-learn
mailing list