C ++将args传递给void函数

时间:2015-07-15 07:46:24

标签: c++ function void args

如何将args传递给此函数:

int myClass::myFunc(void * aArgs){

    return 0;
}

我这样称呼它:

thrd_create(&t, myClass::myFunc, (void*)0);

我需要将多个参数传递给函数,我该如何实现呢?

1 个答案:

答案 0 :(得分:4)

有很多方法。例如:

struct Arg_Struct
{
  int m_nArg1;
  float m_fArg2;
  bool m_bArg3;
}
//...
Arg_Struct* pStruct = new Arg_Struct;
pStruct->m_nArg1 = 0;
thrd_create(&t, myClass::myFunc, (void*)pStruct);

//...

int myClass::myFunc(void * aArgs){
   Arg_Struct* pArgs = (Arg_Struct*)aArgs;
   int n = pArgs->m_nArg1;
//...
   return 0;
}