> No, the compiler is simply applying scope rules.  Without that inner
> declaration explicitly overriding the outer declaration--whether
> static or extern is used-- it will not compile (eg, if you put "static
> void fn(Outer*);" or "extern void fn(Outer*);" and remove static from
> fn in the file scope).

since nested functions are not allowed, applying nested scope seems
a bit odd.  anyway, ...

if the declaration were in the same place but the referenced
function were in another file, the -T would have prevented the
link.  my question is, why doesn't the c compiler internally
apply the same rule?

- erik

Reply via email to