C++ C++;如何从向量列表中选择随机变量?

C++ C++;如何从向量列表中选择随机变量?,c++,vector,random,C++,Vector,Random,我试图创建一个函数,从向量列表中随机选择客户名称。下面是我使用mt19937发动机尝试此功能的情况 Carly:Cat:ABCCCCE. Dodgy Dan:Dog:BCACECC. Ernie:Ettin:AABCCDD. Sally:Snake:AEEEEEE. 例如,上面是向量列表的内容。如果使用该函数,则可能会随机返回Carly、Dodgy Dan、Ernine或Sally(客户名称) 您正在访问客户名称的随机字符 void randomCus(const vector<Cust

我试图创建一个函数,从向量列表中随机选择客户名称。下面是我使用mt19937发动机尝试此功能的情况

Carly:Cat:ABCCCCE.
Dodgy Dan:Dog:BCACECC.
Ernie:Ettin:AABCCDD.
Sally:Snake:AEEEEEE.
例如,上面是向量列表的内容。如果使用该函数,则可能会随机返回Carly、Dodgy Dan、Ernine或Sally(客户名称)


您正在访问客户名称的随机字符

void randomCus(const vector<Customer>& customerList,const Builder& b) {

std::random_device random_device;
std::mt19937 engine{random_device()};
std::uniform_int_distribution<int> dist(0, customerList.size() - 1);

int random_index = dist(engine);
std::cout << "This is a random customer name: " << customerList[random_index].customerName;

}
void randomCus(常量向量和客户列表、常量生成器和b){
std::随机_装置随机_装置;
std::mt19937引擎{random_device()};
std::uniform_int_distribution dist(0,customerList.size()-1);
int random_index=dist(引擎);

std::您是否正在从每个
客户名称中选取一个随机字符
。您希望选取
客户列表
的随机元素,而不是在第7行“没有合适的从“lambda[]auto()->auto”到“int”的转换函数”最后一个@DavidLing的第8行现在应该被修复。忘记访问字符串成员。它不喜欢这一行int random_index=dist(engine)];它会编译并运行,但它会不断返回相同的名称。是否可以种子?
Carly was randomlly selected
Dodgy Dan was randomlly selected 
void randomCus(const vector<Customer>& customerList,const Builder& b) {

std::random_device random_device;
std::mt19937 engine{random_device()};
std::uniform_int_distribution<int> dist(0, customerList.size() - 1);

int random_index = dist(engine);
std::cout << "This is a random customer name: " << customerList[random_index].customerName;

}