class Producer
{
public:
Producer(){
}
void Shout(){
for(int i=0;i<10;i++){
printf("I am a producer!!\n");
}
}
};
void ThreadTest()
{
void (Producer::* ptfptr) () = &Producer::Shout;
Producer prod;
(prod.*ptfptr) ();
Thread *pt = new Thread("producer");
pt->Fork((prod.*ptfptr)(),0);
}
我正在尝试在 nachos 中创建一个生产者线程,为此我正在创建一个类Producer
(我的作业所必需的)。我在类声明中有一个非静态成员函数Shout()
,我使用上面的代码来创建和使用指向Shout()
方法的函数指针。编译器给了我“无效使用非静态成员函数”。这里的错误在哪里?