[aspectc-user] advice that(type) : ..() {..} gives compiler error
Hans VB
hans.vanbroeckhoven at telenet.be
Tue Jun 21 17:45:13 CEST 2005
Hi,
I quickly queried bugzilla but did not find anything for 'that', so
here's a quick sketch of the problem which i only tried with g++ (due to
temporary lack of time)...
class Worker {
public:
void work() {
cout << "working" << endl;
}
};
class Manager {
Worker w;
public:
void manage() {
w.work();
}
};
advice that("Worker") : after() {
cout << "that Worker" << endl;
}
gives this :
make -k all
Building file: ../main.cpp
ac++ -r repo.acp -p .. -o main.acc -c ../main.cpp
g++ -x c++ -D_useAC -O0 -g3 -Wall -c -fmessage-length=0 main.acc -o main.o
../ManagerWorker.h:21: warning: `class Manager' has virtual functions
but non-virtual destructor
: In static member function `static void
Manager::__action_call__ZN7Manager6manageEv_0_1(AC::Action&)':
:13: error: `srcthis' undeclared (first use this function)
:13: error: (Each undeclared identifier is reported only once for each
function it appears in.)
make: *** [main.o] Error 1
So it's about the error concerning 'srcthis'.
I hope I am using "that()" correctly...
It does work when i do
advice execution("% %::%(...)") && that("Worker") {}
(but that woulnd't be exactly the same functionality)
Greets,
Hans
More information about the aspectc-user
mailing list