[C++-sig] boost forward declaration error

Ricardo Kirkner ricardokirkner at gmail.com
Thu Dec 1 23:52:50 CET 2005


Hi:

I am getting an error while compiling some library wrappers.

The overall structure of the error producing code is:

A.h
-----
...
struct MyStruct; //forward declaration
typedef struct MyStruct *MyStructID;
...

B.h
-----
#include A.h
#include A1.h
#include A2.h
...

C.h
-----
#include B.h

class MyClass
{
public:
    MyClass(MyStructID id);
    ....
};

Now, I am getting an error due to the forward declaration in A.h.
However, A.h and B.h belong to some library that is working correctly
(and which library C, for which I am trying to write a wrapper,
depends on).

I don't know if this information (I tried to abstract and simplify the
problem the most I could) is enough for anybody to figure out what is
going on... if anyone needs some more detail in order to help me out,
please ask for it.

So the question is: does anyone know why I am getting the forward
declaration error, while using boost (note that the A library -- owner
of A.h and B.h -- is installed and compiles correctly). Does anyone
know how to get around this problem?

Thanks,

Ricardo Kirkner



More information about the Cplusplus-sig mailing list