On Monday, 24 April 2017 at 16:46:21 UTC, ParticlePeter wrote:
I would like to have this kind of struct:

struct Foo {
  private int i;
void function( int i, float f ) bar; // will be defined at runtime
  void bar( float f ) {
    bar( i, f );
  }
}

[...]
How else can I get the required behavior?

Like this:

struct Foo1
{
    private void function(int,float) _bar;
    void bar(float){}
    void bar(int i, float f){_bar(i,f);}
}

Or like this:

struct Foo2
{
    private void function(int,float) _bar;
    void bar(float) {}
    void function(int,float) bar() {return _bar;}
}


First solution looks better:

(new Foo2).bar()(0,0f) // less good
(new Foo1).bar(0,0f) // better


Reply via email to