On Saturday, 29 April 2017 at 10:17:47 UTC, Atila Neves wrote:
On Saturday, 29 April 2017 at 06:22:03 UTC, ParticlePeter wrote:
On Saturday, 29 April 2017 at 01:49:56 UTC, Atila Neves wrote:
On Friday, 28 April 2017 at 18:41:22 UTC, kinke wrote:
[...]
The worst part about that is mangling aside, the two
declarations are identical to the compiler.
Atila
In this context, can anybody explain [1], in particular, in
this case, one should extern( C++ ) void cppSArray( ref
float[3] color );
instead of:
extern( C++ ) void cppSArray( float* color );
Others and me in this discussion seem to agree that parameter
(float color[3]) is equivalent to (float* color) in C++ world.
[1] http://dlang.org/spec/interfaceToC.html#passing_d_array
It's "just" the mangling. If it were `extern(C)` there'd be
nothing to talk about.
Atila
O.k. got it, so both D variants work with the same C++ mangling,
thanks.