digitalmars.D.learn - Multiple declarations in a C++ namespace
- Paul O'Neil (18/18) Oct 30 2014 I'm trying to bind to some C++ code, but when I compile the D side,
- Meta (9/26) Oct 30 2014 Did you try this?
- Paul O'Neil (6/39) Oct 31 2014 Thanks for the response. That does work.
- Meta (4/6) Oct 31 2014 It might be a good idea to create a thread in DigitalMars.D to
- ketmar via Digitalmars-d-learn (6/9) Oct 31 2014 On Fri, 31 Oct 2014 19:23:06 -0400
I'm trying to bind to some C++ code, but when I compile the D side, there are errors. Here's my reduced test case: // C++ namespace ns { void func1(); void func2(); } // D module cpp; extern(C++, ns) void func1(); extern(C++, ns) void func2() dmd says:cpp_test.d(4): Error: namespace cpp.ns conflicts with namespace cpp.ns at cpp_test.d(3) What does this mean and how do I fix it? Thanks! -- Paul O'Neil Github / IRC: todayman
Oct 30 2014
On Friday, 31 October 2014 at 02:01:00 UTC, Paul O'Neil wrote:I'm trying to bind to some C++ code, but when I compile the D side, there are errors. Here's my reduced test case: // C++ namespace ns { void func1(); void func2(); } // D module cpp; extern(C++, ns) void func1(); extern(C++, ns) void func2() dmd says:cpp_test.d(4): Error: namespace cpp.ns conflicts with namespace cpp.ns at cpp_test.d(3) What does this mean and how do I fix it? Thanks!Did you try this? extern(C++, ns) { void func1(); void func2(); } The compiler probably thinks you're trying to declare two separate namespaces. I'm not sure if this is intended or not.
Oct 30 2014
On 10/31/2014 12:55 AM, Meta wrote:On Friday, 31 October 2014 at 02:01:00 UTC, Paul O'Neil wrote:Thanks for the response. That does work. Should I file a bug report or create a PR for the docs? -- Paul O'Neil Github / IRC: todaymanI'm trying to bind to some C++ code, but when I compile the D side, there are errors. Here's my reduced test case: // C++ namespace ns { void func1(); void func2(); } // D module cpp; extern(C++, ns) void func1(); extern(C++, ns) void func2() dmd says:cpp_test.d(4): Error: namespace cpp.ns conflicts with namespace cpp.ns at cpp_test.d(3) What does this mean and how do I fix it? Thanks!Did you try this? extern(C++, ns) { void func1(); void func2(); } The compiler probably thinks you're trying to declare two separate namespaces. I'm not sure if this is intended or not.
Oct 31 2014
On Friday, 31 October 2014 at 23:22:50 UTC, Paul O'Neil wrote:Thanks for the response. That does work. Should I file a bug report or create a PR for the docs?It might be a good idea to create a thread in DigitalMars.D to get clarification on the intended behaviour. A doc PR never hurts either.
Oct 31 2014
On Fri, 31 Oct 2014 19:23:06 -0400 "Paul O'Neil via Digitalmars-d-learn" <digitalmars-d-learn puremagic.com> wrote:Thanks for the response. That does work. =20 Should I file a bug report or create a PR for the docs?i think it will be fine. and i think that this is more like a bug, 'cause it's ovbious that user wants the same namespace, not two identically named ones.
Oct 31 2014