On 1/29/15 4:38 PM, Walter Bright wrote:
On 1/29/2015 5:43 AM, Steven Schveighoffer wrote:
Is there a good reason to do it the current way besides
"that's what C++ does"?

My reason for saying "that's what C++ does" is that in 30 years I've
never heard anyone bring it up as a problem. So while we could go about
diagnosing such errors, I regard it as a very low priority.


Maybe because that's not how it works in C++ (thought I would test):

lib1.h:
namespace x
{
extern "C" {
    void cfunction();
}
}


lib2.h:
namespace y
{
extern "C" {
    void cfunction();
}
}

main.cpp:
#include "lib1.h"
#include "lib2.h"

using namespace x;
using namespace y;

int main()
{
    x::cfunction(); // OK
    y::cfunction(); // OK
    cfunction();    // OK
    return 0;
}

-Steve

Reply via email to