将随机数与向量大小进行比较时出错
Error comparing a random number to the size of a vector
我有点不知所措,我不确定这个错误意味着什么,也不知道该怎么办
class player::deck
{
public:
vector<int> deck;
int draw(){
int card = srand(time(NULL)) % deck.size();
deck.erase(deck(begin)+card);
return card;
}
};
我正在尝试为每个玩家制作一副牌。由整数表示的卡(0表示卡0,1表示卡1,等等)。
这是一个错误:
/home/ubuntu/workspace/try3/main.cpp: In member function ‘int player::deck::draw()’:
/home/ubuntu/workspace/try3/main.cpp:27:54: error: invalid operands of types ‘void’ and ‘std::vector<int>::size_type {aka long unsigned int}’ to binary ‘operator%’
int card = srand(time(NULL)) % deck.size();
^
/home/ubuntu/workspace/try3/main.cpp:28:34: error: no match for call to ‘(std::vector<int>) (<unresolved overloaded function type>)’
deck.erase(deck(begin)+card);
^
任何帮助都将不胜感激。如果我在错误的地方或错误地使用了网站,请告诉我。
您想要这样做:
srand(time(NULL));
int card = rand() % deck.size();
srand:初始化随机数生成器
rand:生成随机数
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么比较运算符如此快速
- 访问者访问变体并返回不同类型时出错
- 在Linux for Windows上编译C++代码时出错
- 读取文件的最后一行并输入到链接列表时出错
- 重载操作程序时出错>>用于类中的字符串 memebr
- 我可以使用 g++ 进行三种比较 (<=>) 吗?
- 调用专用模板时出错"no matching function for call to [...]"
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 比较两个 std::chrono::time_point 实例时出错
- Rcpp/C++/R:比较日期时间矢量与日期时间时出错(错误:"运算符>"的不明确重载)
- 在比较特定输入中的程序的数组中出错
- std::out_of_range 比较字符串中的符号时出错
- 计算选择排序中的比较次数时出错
- 比较int和double时出错
- 调用 std::等于时出错,将类成员函数作为比较器
- 将随机数与向量大小进行比较时出错
- 在stl_algorithm .h中比较指针时出错
- 使用谓词作为比较函数时出错
- 尝试将'=='重载传递给 std::map 比较器时出错