Как прокинуть параметры полю в конструкторе?

Я хочу сделать объект для удобного многопоточного доступа к объекту.

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

Компилятор ругается что не находит подходящего конструктора. Почему так нельзя и как правильно сделать.


Ответы (0 шт):