Hi,

I made a Qt singleton class:

Qt Code:
  1. // decl
  2. class QFoo : QObject
  3. {
  4. Q_OBJECT
  5. public:
  6. static QFoo* getInstance( QObject* parent=0 );
  7. static void destroy();
  8.  
  9. signal:
  10. void fooSignal();
  11.  
  12. private:
  13. static QFoo* p_instance;
  14.  
  15. QFoo( QObject* parent );
  16. ~QFoo();
  17. };
  18.  
  19. // impl
  20. QFoo* QFoo::p_instance = 0;
  21.  
  22. QFoo* QFoo::getInstance( QObject* parent )
  23. {
  24. if( !p_instance )
  25. p_instance = new QFoo( parent );
  26. return p_instance;
  27. }
  28.  
  29. void QFoo::destroy()
  30. {
  31. if( p_instance )
  32. delete p_instance;
  33. }
  34.  
  35. QFoo::QFoo( QObject* parent ) : QObject( parent )
  36. {
  37. }
  38.  
  39. QFoo::~QFoo()
  40. {
  41. }
To copy to clipboard, switch view to plain text mode 

I want to connect its fooSignal() to a slot:
Qt Code:
  1. QFoo* pFoo = QFoo::getInstance();
  2. connect( pFoo, SIGNAL( fooSignal() ), this, SLOT( aSlot() ) );
To copy to clipboard, switch view to plain text mode 

My problem is that I get compiler error with the connect:
"error C2243: 'type cast'*: conversion from 'QFoo *' to 'const QObject *' exists, but is not accessible"

Do you have any idea?
Thanks in advance.