On Fri, Oct 16, 2020 at 07:55:53PM +0000, wilcro via Digitalmars-d-learn wrote: > The web page "Programming in D for C Programmers" > (https://dlang.org/articles/ctod.html#forwardfunc) states that forward > declarations are neither required nor permitted, [...] > However, the following code will cause a compiler error: [...] > void main() > { > > void myfunc() { > > forwardfunc(); // onlineapp.d(8): Error: undefined identifier > forwardfunc > } > > void forwardfunc() { > > writeln("foo"); > } [...]
This is because order-independence of declarations only applies to module scope, not to function scope. So the above would work if myfunc and forwardfunc were moved outside of main(). But inside a function body, you must declare everything before you use them. T -- Philosophy: how to make a career out of daydreaming.
