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]) ?


Reply via email to