C++ Interfacing:'static' array function parameter contradiction
    ParticlePeter via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Fri Apr 28 08:56:17 PDT 2017
    
    
  
C++ Function:
bool cppFunc( float[3] color );
D binding:
extern(C++) bool cppFunc( float[3] color );
Using with:
float[3] my_color;
cppFunc( my_color );
-> Error: Internal Compiler Error: unable to pass static array to 
extern(C++) function.
Error: Use pointer instead.
Using with:
cppFunc( my_color.ptr );
-> Error: function cppFunc( float[3] color ) is not callable 
using argument types (float*)
Altering D binding:
extern(C++) bool cppFunc( float* color );
Using with:
cppFunc( my_color.ptr );
-> error LNK2001: unresolved external symbol "bool __cdecl 
cppFunc(float *)" Binding.exe : fatal error LNK1120: 1 unresolved 
externals
Error: linker exited with status 1120
dmd failed with exit code 1120.
So what next? How can I interface to the cpp function?
    
    
More information about the Digitalmars-d-learn
mailing list