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