gpt4 book ai didi

c++ - 预期类型说明符

转载 作者:搜寻专家 更新时间:2023-10-31 00:35:26 25 4
gpt4 key购买 nike

我在使用 boost/random/uniform_int_distribution.hpp 时遇到此错误并做:

boost::random::uniform_int_distribution<> dist(0, 5);

我得到的错误是:

$ g++ game.cpp -std=c++11 -Wall -Ipath/to/boost -o game && ./game

game.cpp:11:20: error: expected type-specifier
game.cpp:11:20: error: expected '>'

为什么会出现此错误?

注意:我在使用 std::uniform_int_distribution<> 时不会收到此错误.

这是导致问题的代码:

#include <boost/random/uniform_int_distribution.hpp>

template<
class Engine = boost::default_random_engine
>
class game
{
boost::random::uniform_int_distribution<int> dist{0, 5};
};

int main()
{
}

最佳答案

Boost.Random 没有定义 default_random_engine类型。直接使用 Mersenne twister 引擎(或者它定义的 other generators 之一)

#include <boost/random/uniform_int_distribution.hpp>
#include <boost/random/mersenne_twister.hpp>

template<
class Engine = boost::mt19937
>
class game
{
boost::random::uniform_int_distribution<> dist{0, 5};
};

此外,由于问题被标记为 C++11,我会提到标准库确实定义了 std::default_random_engine。和 std::uniform_int_distribution <random> 标题。

关于c++ - 预期类型说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23858416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com