Переменная-член с аргументами не типового шаблона без класса шаблонов? - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь реализовать класс, который будет иметь член linear_congruential_engine.Я не хочу форсировать реализацию, но я не уверен, что это возможно, потому что linear_congruential_engine реализован в виде шаблона с нетиповыми аргументами.

Пример того, что я пытаюсь получить:

template <class T> MyClass {
protected:
    template<T a, T c, T m>
    std::linear_congruential_engine<T, a, c, m> randEngine;
public:
    template<T a, T c, T m>
    MyClass(std::linear_congruential_engine<T, a, c, m> randEngine) {
        this->randEngine = randEngine;
    }
}

Разрешение:

int main() {
    MyClass<uint32_t> ex1(std::minstd_rand0());
    MyClass<uint32_t> ex2(std::minstd_rand());
}

Возможно ли это?Моя интуиция говорит «нет», но надеюсь, что кто-то, более знакомый с шаблонами, скажет мне иначе или предложит разумный обходной путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...