I'm trying to initialise a vector member variable in the constructor of a class template. I'm getting "'T' does not refer to a value" error from the compiler, because T refers to a class, so I can't do what I want with this format. What's the correct format here for the constructor please? (I'm guessing I need to convert T to be const val\_type, as per the [constructor](http://www.cplusplus.com/reference/vector/vector/vector/)?)

```
template <class T>
    class PeripheralSystem {
        public:
            PeripheralSystem(uint32_t numPeripherals = 0) : peripherals(numPeripherals, T) {};
            virtual ~PeripheralSystem();

        private:
            std::vector<T> peripherals;

    };

```