link to C++ function in a namespace whose name is a D keyword

Alex Parrill via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jan 6 11:46:56 PST 2016


On Wednesday, 6 January 2016 at 18:35:07 UTC, Carl Sturtivant 
wrote:
> Hello,
>
> From D I want to call e.g.
>
> /* C++ prototype */
> namespace ns {
>     int try(int x);
> }
>
> without writing a C or C++ wrapper.
>
> Presumably the following D doesn't work, because it doesn't 
> mangle the name as if it's in the namespace ns.
>
> pragma(mangle, "try") extern(C++, ns) int try_(int x);
>
> So how to I get correct mangling here?

Isn't try a C++ keyword though? Wouldn't that make it impossible 
to use in an identifier?


More information about the Digitalmars-d-learn mailing list