extern(C++, ns)

Rainer Schuetze via Digitalmars-d digitalmars-d at puremagic.com
Mon Jan 11 10:58:42 PST 2016



On 11.01.2016 18:40, Walter Bright wrote:
> On 1/11/2016 12:45 AM, Rainer Schuetze wrote:
>> This yields:
>>
>> test.d(11): Error: stl.vector.std at stl\vector.d(3) conflicts with
>> stl.map.std
>> at stl\map.d(3)
>> test.d(12): Error: stl.vector.std at stl\vector.d(3) conflicts with
>> stl.map.std
>> at stl\map.d(3)
>> test.d(12): Error: template identifier 'map' is not a member of namespace
>> 'stl.vector.std'
>
> Of course it does, because you're looking up "std" and "std" is in both
> vector and map. Again, I am hornswoggled by my inability to explain how
> name lookup works.

No need to explain. I'm just showing that the name lookup that might be 
expected from a C++ namespace, doesn't work. I suspect that's Manus' 
argument: if it gets unusable so easily then why add it it in the first 
place?

As the usual disambiguation techniques work I'm not sure the additional 
symbol does any harm, though.


More information about the Digitalmars-d mailing list