Forward reference to nested function not allowed?

DLearner via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat May 31 09:18:33 PDT 2014


Hi,

import std.stdio;
void main() {

    writefln("Entered");

    sub1();
    sub1();
    sub1();

    writefln("Returning");

    void sub1() {
       static int i2 = 6;

       i2 = i2 + 1;
       writefln("%s",i2);
    };
}

does not compile, but

import std.stdio;
void main() {
    void sub1() {
       static int i2 = 6;

       i2 = i2 + 1;
       writefln("%s",i2);
    };
    writefln("Entered");

    sub1();
    sub1();
    sub1();

    writefln("Returning");


}

compiles and runs as expected.

Is this intended?


More information about the Digitalmars-d-learn mailing list