Ok, i added these...
AlienDetector.h
Code:
#include <iostream>
#include "sigc++/object.h"
#include <string>
#include "sigc++/signal.h"
using namespace std;
class AlienDetector : public SigC::Object
{
public:
AlienDetector::AlienDetector();
void AlienDetector::run();
void AlienDetector::warn_people();
AlienDetector::sigc::signal<void> signal_detected;
};
AlienDetector.cc
Code:
#include "AlienDetector.h"
AlienDetector::AlienDetector(){}
void AlienDetector::run(){
signal_detected();
}
void AlienDetector::warn_people()
{
cout << "There are aliens in the carpark!" << endl;
}
int main()
{
AlienDetector mydetector;
mydetector.signal_detected.connect( sigc::ptr_fun(warn_people) );
mydetector.run();
return 0;
}
i get now the following errors, that seems to say that the signal isn't properly declared.
Code:
AlienDetector.h:16: error: ‘class AlienDetector::sigc’ has not been declared
AlienDetector.h:16: error: ISO C++ forbids declaration of ‘signal’ with no type
AlienDetector.h:16: error: expected ‘;’ before ‘<’ token
AlienDetector.cc: In member function ‘void AlienDetector::run()’:
AlienDetector.cc:5: error: ‘signal_detected’ was not declared in this scope
AlienDetector.cc: In function ‘int main()’:
AlienDetector.cc:16: error: ‘class AlienDetector’ has no member named ‘signal_detected’
AlienDetector.cc:16: error: ‘warn_people’ was not declared in this scope
Whats wrong now?
Thanks
Hork83