Re: Multiple declarations in a C++ namespace

2014-10-31 Thread Meta via Digitalmars-d-learn

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.


Re: Multiple declarations in a C++ namespace

2014-10-31 Thread ketmar via Digitalmars-d-learn
On Fri, 31 Oct 2014 19:23:06 -0400
"Paul O'Neil via Digitalmars-d-learn"
 wrote:

> Thanks for the response.  That does work.
> 
> 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.


signature.asc
Description: PGP signature


Re: Multiple declarations in a C++ namespace

2014-10-31 Thread Paul O'Neil via Digitalmars-d-learn
On 10/31/2014 12:55 AM, Meta wrote:
> 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.

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: todayman


Re: Multiple declarations in a C++ namespace

2014-10-30 Thread Meta via Digitalmars-d-learn

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.


Multiple declarations in a C++ namespace

2014-10-30 Thread Paul O'Neil via Digitalmars-d-learn
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