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は常にこれらの変換について警告しますが、計画どおりに機能します。 量産コードでは受け入れられますか?これを行うためのより良い方法はありますか?