Abend !
Ich habe viele nette Sachen im Internet gefunden zum überladen des () operators, ich will /muss aber als return value, die Adresse einer Methode in einer Klasse haben.
Ich will mittels boost:thread einen Funktion in einer Klasse starten, die als Thread laufen soll, jedoch klappt es halt nicht, weil Sie innerhalb einer Klasse ist, wie kann man dies "elegant" lösen ?
Ich habe viele nette Sachen im Internet gefunden zum überladen des () operators, ich will /muss aber als return value, die Adresse einer Methode in einer Klasse haben.
Code:
#include <iostream>
#include <boost/thread/thread.hpp>
// Test Klasse
class C
{
public:
C(){} //
// Operator ueberladen
C operator()()
{
// TODO
}
// sinnlose Methode innerhalb einer Klasse zum testen
void init(void)
{
for(unsigned int i = 0; i < 10000; i++)
std::cout<<i<<std::endl;
}
};
// sinnlose Methode ausserhalb einer Klasse zum testen
void init(void)
{
for(unsigned int i = 0; i < 10000; i++)
std::cout<<"-->"<<i<<std::endl;
}
int main()
{
C *c = new C();
//boost::thread t1(&c());
boost::thread t2(&init);
c->init();
}
Ich will mittels boost:thread einen Funktion in einer Klasse starten, die als Thread laufen soll, jedoch klappt es halt nicht, weil Sie innerhalb einer Klasse ist, wie kann man dies "elegant" lösen ?