You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@etch.apache.org by Se...@ese.de on 2013/05/14 11:55:25 UTC

C++ binding: 'Pair' : is not a member of 'EtchHashTable'

Hi list,

when I try to compile the generated sources for my etch project, I get this error message:



error C2039: 'Pair' : is not a member of 'EtchHashTable<Key,T>'

2> with

2> [

2> Key=EtchField,

2> T=capu::SmartPointer<EtchObject>

2> ]

error C2065: 'Pair' : undeclared identifier



My attempt at defining it myself

struct Pair

{

    Key first;

    T second;

};

doesn't work because here

it.next(&pair);

I get this error:

error C2664: 'EtchHashTable<Key,T>::EtchHashTableIterator::next' : cannot convert parameter 1 from 'EtchHashTable<Key,T>::Pair *' to 'capu::HashTable<Key,T,C,H>::HashTableEntry *'



This doesn't work because HashTableEntry  has nor members first and second:

typedef HashTableEntry Pair;



So the bug must be fixed in the generator?



Sebastian



RE: C++ binding: 'Pair' : is not a member of 'EtchHashTable'

Posted by Martin Veith <Ma...@bmw-carit.de>.
Hi Sebastian,

I fixed it and commit the patch to trunk. Please rebuild cpp compiler and runtime and test it again.

Cheers,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Tuesday, May 14, 2013 1:52 PM
To: user@etch.apache.org
Subject: AW: C++ binding: 'Pair' : is not a member of 'EtchHashTable<Key,T>'


Hello Martin,

you get the error for enums. For example, insert this into HelloWorld.etch:



enum HelloWorldEnum (
  E_ONE,
  E_TWO
)

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de]
Gesendet: Dienstag, 14. Mai 2013 12:21
An: user@etch.apache.org
Betreff: RE: C++ binding: 'Pair' : is not a member of 'EtchHashTable<Key,T>'
Hi Sebastian,

we have updated CAPU a few weeks ago, it seems this is still an issue in the Etch Wrapper.
Could you please post the relevant datatype of your IDL file? So I can reproduce and fix it.

Thanks,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Tuesday, May 14, 2013 11:55 AM
To: user@etch.apache.org
Subject: C++ binding: 'Pair' : is not a member of 'EtchHashTable<Key,T>'


Hi list,

when I try to compile the generated sources for my etch project, I get this error message:



error C2039: 'Pair' : is not a member of 'EtchHashTable<Key,T>'

2> with

2> [

2> Key=EtchField,

2> T=capu::SmartPointer<EtchObject>

2> ]

error C2065: 'Pair' : undeclared identifier



My attempt at defining it myself

struct Pair

{

    Key first;

    T second;

};

doesn't work because here

it.next(&pair);

I get this error:

error C2664: 'EtchHashTable<Key,T>::EtchHashTableIterator::next' : cannot convert parameter 1 from 'EtchHashTable<Key,T>::Pair *' to 'capu::HashTable<Key,T,C,H>::HashTableEntry *'



This doesn't work because HashTableEntry  has nor members first and second:

typedef HashTableEntry Pair;



So the bug must be fixed in the generator?



Sebastian



AW: C++ binding: 'Pair' : is not a member of 'EtchHashTable'

Posted by Se...@ese.de.
Hello Martin,

you get the error for enums. For example, insert this into HelloWorld.etch:



enum HelloWorldEnum (
  E_ONE,
  E_TWO
)

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de]
Gesendet: Dienstag, 14. Mai 2013 12:21
An: user@etch.apache.org
Betreff: RE: C++ binding: 'Pair' : is not a member of 'EtchHashTable<Key,T>'

Hi Sebastian,

we have updated CAPU a few weeks ago, it seems this is still an issue in the Etch Wrapper.
Could you please post the relevant datatype of your IDL file? So I can reproduce and fix it.

Thanks,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Tuesday, May 14, 2013 11:55 AM
To: user@etch.apache.org
Subject: C++ binding: 'Pair' : is not a member of 'EtchHashTable<Key,T>'


Hi list,

when I try to compile the generated sources for my etch project, I get this error message:



error C2039: 'Pair' : is not a member of 'EtchHashTable<Key,T>'

2> with

2> [

2> Key=EtchField,

2> T=capu::SmartPointer<EtchObject>

2> ]

error C2065: 'Pair' : undeclared identifier



My attempt at defining it myself

struct Pair

{

    Key first;

    T second;

};

doesn't work because here

it.next(&pair);

I get this error:

error C2664: 'EtchHashTable<Key,T>::EtchHashTableIterator::next' : cannot convert parameter 1 from 'EtchHashTable<Key,T>::Pair *' to 'capu::HashTable<Key,T,C,H>::HashTableEntry *'



This doesn't work because HashTableEntry  has nor members first and second:

typedef HashTableEntry Pair;



So the bug must be fixed in the generator?



Sebastian



RE: C++ binding: 'Pair' : is not a member of 'EtchHashTable'

Posted by Martin Veith <Ma...@bmw-carit.de>.
Hi Sebastian,

we have updated CAPU a few weeks ago, it seems this is still an issue in the Etch Wrapper.
Could you please post the relevant datatype of your IDL file? So I can reproduce and fix it.

Thanks,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Tuesday, May 14, 2013 11:55 AM
To: user@etch.apache.org
Subject: C++ binding: 'Pair' : is not a member of 'EtchHashTable<Key,T>'


Hi list,

when I try to compile the generated sources for my etch project, I get this error message:



error C2039: 'Pair' : is not a member of 'EtchHashTable<Key,T>'

2> with

2> [

2> Key=EtchField,

2> T=capu::SmartPointer<EtchObject>

2> ]

error C2065: 'Pair' : undeclared identifier



My attempt at defining it myself

struct Pair

{

    Key first;

    T second;

};

doesn't work because here

it.next(&pair);

I get this error:

error C2664: 'EtchHashTable<Key,T>::EtchHashTableIterator::next' : cannot convert parameter 1 from 'EtchHashTable<Key,T>::Pair *' to 'capu::HashTable<Key,T,C,H>::HashTableEntry *'



This doesn't work because HashTableEntry  has nor members first and second:

typedef HashTableEntry Pair;



So the bug must be fixed in the generator?



Sebastian