2
将带有指针参数的C ++方法转换为C函数是否可以接受?
我在ESP-32上使用C ++。注册计时器时,我必须这样做: timer_args.callback = reinterpret_cast<esp_timer_cb_t>(&SoundMixer::soundCallback); timer_args.arg = this; 计时器在这里 soundCallback。 注册任务时也是如此: xTaskCreate(reinterpret_cast<TaskFunction_t>(&SoundProviderTask::taskProviderCode), "SProvTask", stackSize, this, 10, &taskHandle); 因此,该方法在单独的任务中启动。 GCC总是警告我这些转换,但它按计划进行。 生产代码中可以接受吗?有一个更好的方法吗?