|
|
От: |
k.o.
|
|
| Дата: | 20.02.14 05:49 | ||
| Оценка: | +1 | ||
| Скрытый текст | |
FH> | |
Проблема в том, что данный код необходимо компилировать, помимо всего прочего, в MSVC-11.0, который не разрешает использовать аргументы по умолчанию в шаблонных функциях
error C4519: default template arguments are only allowed on a class template
template <
typename RngType = std::mt19937
, template<class> class DistributionType = std::uniform_int_distribution
>
class get_random_number
{
public:
template <typename RangeType>
typename RngType::result_type operator()(RangeType range_start, RangeType range_end)
{
std::random_device rd;
RngType gen(rd());
DistributionType<RangeType> dist(range_start, range_end);
return dist(gen);
}
};