Specifying C++ symbols in C++ namespaces
Dicebot
public at dicebot.lv
Fri Apr 4 15:12:04 PDT 2014
On Friday, 4 April 2014 at 19:43:56 UTC, Walter Bright wrote:
> Fails because:
>
> C++:
>
> namespace S { namespace T {
> int foo();
> namespace U {
> int foo();
> }
> } }
>
> D:
>
> extern (C++, S::T) {
> int foo();
> extern (C++, U) {
> int foo();
> }
> }
> foo(); // error, ambiguous, which one?
> S.T.foo(); // S undefined
I don't feel this is a problem. Such foo's should be disambugated
by D tools, which means using different modules. Exact matching
between C++ and D sources is impossible anyway, it is not worth
complicating D qualification system for that.
More information about the Digitalmars-d
mailing list