আমি ESP-32 এ সি ++ ব্যবহার করি। টাইমার নিবন্ধনের সময় আমাকে এটি করতে হবে:
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);
সুতরাং পদ্ধতিটি একটি পৃথক টাস্কে শুরু করা হয়েছে।
জিসিসি আমাকে সর্বদা এই রূপান্তরগুলি সম্পর্কে সতর্ক করে, তবে এটি পরিকল্পনা মতো কাজ করে।
এটি কি উত্পাদন কোডে গ্রহণযোগ্য? এই কাজ করতে একটি ভাল উপায় আছে কি?
std::bind
প্রথম পদ্ধতির আর্গুমেন্ট হিসাবে অবজেক্ট পয়েন্টারটিকেও ধরে না ?