没有模板类的具有模板非类型参数的成员变量?

时间:2019-01-28 02:56:57

标签: c++ class templates member non-type

我正在尝试实现一个具有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());
}

这可能吗?我的直觉说不,但是希望有人对模板更熟悉可以告诉我其他方式,或者建议一个聪明的解决方法。

0 个答案:

没有答案