В настоящее время я разрабатываю приложение с графическим интерфейсом. Мой класс приложения с графическим интерфейсом представляет собой одноэлементный элемент, который зависит от шаблонного мьютекса и шаблонной задачи обработки событий.
//GUIApplication.hpp
#include шаблон класс GUIApplication { публика: GUIAприложение() { m_pInstance = это; } статический Mutex_T& getMutexInstance() { Assert(nullptr!= m_pInstance); вернуть m_pInstance->m_GuiMutex; } частный: встроенный статический GUIApplication* m_pInstance = nullptr; Task_T m_eventTask; Mutex_T m_GuiMutex; }; Теперь у меня есть несколько других классов, которым нужно блокировать мьютекс, прежде чем что-то делать. Однако я не хочу создавать шаблоны из этих других классов. Есть ли способ «получить» или «сохранить» тип шаблона из текущего экземпляра GUIApplication.
//Foo.hpp класс Фу { публика: Фу(); }; //Foo.cpp #include Фу::Фу() { //здесь (очевидно) автоматический вывод аргументов шаблона не работает автоматическая блокировка = std::scoped_lock(GUIApplication::getMutexInstance()); //делаем здесь что-то.... } Спасибо, ребята, за помощь
Мобильная версия