passing 0 to const char[]

cal callumenator at gmail.com
Tue Aug 14 13:07:53 PDT 2012


On Tuesday, 14 August 2012 at 19:27:26 UTC, Andrew wrote:
> I'm trying to interface with C code, where I have a function
> definition that takes two const char[]'s:
>
> PetscErrorCode PetscInitialize(int*, char***, const char[], 
> const
> char[]);
>
> However, the typical way that you pass "Null" values instead of
> the last two arguments is "PETSC_NULL"
>
> The problem is that PETSC_NULL is a macro defined to be 0.  I
> can't do the normal "int PETSC_NULL = 0" thing, because it
> doesn't follow the type signature of PetscInitialize.
>
> How to I pass 0 in place of the last two arguments?  cast(const
> char[])(0) doesn't work, and just an empty string ("\0") doesn't
> work either.
>
> -Andrew

How about cast(const(char[]))([0]) ?




More information about the Digitalmars-d-learn mailing list