Re: Compilation of arts on HPUX - namespace problems?

Harri Porten <[email protected]>
Newsgroups gmane.comp.kde.non-linux
Message-ID <[email protected]>
Hi !

> 3. aCC complains that mcop/datapacket.h is not ISO C++ compliant. This can be 
> fixed by using this->capacity and this->contents in various places. I can 
> send the modified file to those interested.

I fixed that for 3.0.1 already.

> 4. On compiling mcop/common.h, the following error (and similar ones wherever 
> ObjectReference is used) kill the compilation:
> Error 359: "common.h", line 84 # The expression on the left side of the '->'
>     (arrow member access operator) must be a pointer to completed class object
>     type; the type of the left side is 'Arts::ObjectReference *' and 'class
>     ObjectReference' has not been defined yet.
>                     ObjectReference reference(buffer);
>                                     ^^^^^^^^^
> Error 283: "common.h", line 84 # Illegal operand type in call expression.
>                     ObjectReference reference(buffer);
>                                     ^^^^^^^^^
> According to my understanding, a class needs to be declared (not defined) 
> before it is referenced elsewhere. So the error message does not seem to make 
> sense to me.

My interpretation is different: as an object of type ObjectReference is
instanciated the compiler has to see the full definition. As
ObjectReference is only defined in a header that includes common.h I think
the compiler is right and the problem would be non-trivial to fix. Stefan
?

The simples workaround is just to remove those lines and live without aRts
for now.

Harri.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.