[aspectc-user] aspect inhertitance

Antonio S. de A. Terceiro asaterceiro at inf.ufrgs.br
Sun May 1 01:11:32 CEST 2005


Jamal Siadat escreveu isso aĆ­:
> When I run the ac++ preprocessor on it, it works fine and it generates me
> the c++ file to compile. but when I compile that with g++, it gives me the
> following errors:
> trace.ah:4: error: ISO C++ forbids declaration of `j' with no type
> trace.ah:4: error: ISO C++ forbids initialization of member `j'
> trace.ah:4: error: making `j' static
> trace.ah:4: error: ISO C++ forbids in-class initialization of non-const
> static member `j'
> 
> which leads me to think that aspects cant inherite from classes. If thats
> not the case can you please tell what other routs I can try .. I just want
> to print the value of j ( which should be 0)

You can't assign a variable in a C++ class declaration, which is leading you to this error. There is nothing to do with aspects:

> aspect Action : public A {
> j=0;
>   advice  execution("% b(...)") : around()  {
> cout << "j is: "<< j <<endl;;
> }
> };

Try moving this 'y=0' to, for instance, an advice that match the
class constructor. Or removing it at all.

-- 
Antonio S. de A. Terceiro <asaterceiro at inf.ufrgs.br>
http://www.inf.ufrgs.br/~asaterceiro
GnuPG ID: E6F73C30




More information about the aspectc-user mailing list