C ++. Erreur: void n'est pas un type pointeur-à-objet

J'ai un programme C++:

struct arguments
{
  int a, b, c;  
  arguments(): a(3), b(6), c(9) {}
};

class test_class{
  public:

    void *member_func(void *args){
      arguments vars = (arguments *) (*args); //error: void is not a 
                                              //pointer-to-object type

      std::cout << "\n" << vars.a << "\t" << vars.b << "\t" << vars.c << "\n";
    }
};

Sur le compiler renvoie une erreur:

error: void*’ is not a pointer-to-object type

Quelqu'un peut m'expliquer ce que je fais de mal pour produire cette erreur?

source d'informationauteur Matt Munson