Как прокинуть параметры полю в конструкторе?
Я хочу сделать объект для удобного многопоточного доступа к объекту.
template<class T, class ... Args>
class ThreadSafeObject {
private:
std::mutex mtx;
T object;
public:
ThreadSafeObject(const Args &... args) :object(args...) {
}
__forceinline void Lock() {
mtx.lock();
}
__forceinline void Unlock() {
mtx.unlock();
}
__forceinline T& Get() {
return object;
}
};
my_types::ThreadSafeObject<int> a{6};//error
Компилятор ругается что не находит подходящего конструктора. Почему так нельзя и как правильно сделать.