default arguments for const ref parameters in extern C++ functions
    60rntogo 
    60rntogo at gmail.com
       
    Mon Sep 14 12:44:34 UTC 2020
    
    
  
I'm trying to use a C++ library that has a function declared like 
this:
---
struct Foo
{
   int x;
};
void fun(const Foo& foo = Foo(1));
---
I have translated this to a D declaration:
---
struct Foo
{
   int x;
}
extern(C++) void fun(const ref Foo foo = Foo(1));
---
This yields an error: "Foo(1) is not an lvalue and cannot be 
modified". I suppose this makes sense with how D references work, 
but I have no control over how the C++ function is declared. What 
can I do with this?
    
    
More information about the Digitalmars-d-learn
mailing list