抛出'std :: out_of_range'实例后调用终止

Vrahimis海岸

为什么会发生这种情况,我的程序说它没有错误,但是当我运行它时,抛出一个'std :: out_of_range'what():vector:_M_range_check实例后,终止调用。我是C ++的新手,所以我不理解这些错误

#include <vector>
#include <iostream>
#include <random>
#include <time.h>

using namespace std;
using std::vector;

int main()
{

vector<int> deck;
vector<int> nums;
default_random_engine eng(time(0));
uniform_int_distribution<int> dis(0, 51);

int pos1;
int pos2;
int num1;
int num2;
int i;
int n;
int m;

for (i = 0; i < 52; i++)
{
    nums.push_back(i);

}

for(int j = 0; j < 52; j++)
{
    cout << nums.at(i) << "\n";
}


for(n = 0; n < 50; n++)
{
    pos1 = dis(eng);
    pos2 = dis(eng);

    cout << pos1 << "\n" << pos2 << "\n";

    num1 = deck.at(pos1);
    num2 = deck.at(pos2);

}

}
马丁·J。

在我看来,这似乎是由于拼写错误所致,您应该在第二个循环中使用变量“ j”。在第一个循环之后,

for (i = 0; i < 52; i++)
{
    nums.push_back(i);
}

变量'i'包含值52,因此听起来像是调用nums.at(i)会引发std :: out_of_range,因为nums仅包含52个值,从索引0开始。

for(int j = 0; j < 52; j++)
{
    cout << nums.at(i) << "\n";
}

通过将at()的参数替换为'j'来解决此问题,我认为这是原始意图:

for(int j = 0; j < 52; j++)
{
    cout << nums.at(j) << "\n";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不会引发std :: out_of_range异常

来自分类Dev

抛出'std :: out_of_range'实例后调用终止

来自分类Dev

Node.js错误“抛出'std :: bad_alloc'what():std :: bad_alloc实例后调用终止”

来自分类Dev

在PHP中使用system()执行程序时出错:抛出'std :: logic_error'实例后终止调用

来自分类Dev

使用gcc编译代码后,不会输出std :: out_of_range异常字符串

来自分类Dev

异常'out_of_range'不是std的成员?

来自分类Dev

为什么在抛出'std :: bad_alloc'实例后终止调用?

来自分类Dev

设置QLineEdit时std :: out_of_range

来自分类Dev

libc ++ abi.dylib:以类型为std :: out_of_range的未捕获异常终止:basic_string错误吗?

来自分类Dev

抛出'std :: regex_error'实例后调用终止

来自分类Dev

不会引发std :: out_of_range异常

来自分类Dev

比较二进制数字输入的字符时,抛出'std :: out_of_range实例后调用终止

来自分类Dev

在我使用shared_ptr之后,抛出“ std :: bad_weak_ptr的实例后调用终止”是什么

来自分类Dev

以类型为std :: out_of_range的未捕获异常终止终止错误

来自分类Dev

在C ++中抛出'std :: out_of_range'实例后调用终止

来自分类Dev

C ++向量:std :: out_of_range错误

来自分类Dev

使用gcc编译代码后,不会输出std :: out_of_range异常字符串

来自分类Dev

C ++中带有矢量的'std :: out_of_range'实例

来自分类Dev

抛出'std :: regex_error'实例后调用终止

来自分类Dev

抛出'std :: out_of_range'what():vector :: _ M_range_check实例后终止调用

来自分类Dev

C++ 合并排序实现中抛出的 std::out_of_range 异常

来自分类Dev

抛出“std::system_error”线程池实例后调用终止

来自分类Dev

在抛出“std::system_error”实例后调用 Tensorflow 终止

来自分类Dev

抛出'std::bad_alloc'的实例后调用C++终止

来自分类Dev

将字母向前移动 3 个字母的程序,错误:在抛出 'std::out_of_range' 实例后调用终止

来自分类Dev

在抛出 std::exception 实例后调用终止

来自分类Dev

抛出“std::invalid_argument”实例后调用终止 what(): leetcode 问题中的 stoi 错误

来自分类Dev

"if (argc < 2 || argc > 2)" 应该有 2 个参数吗?& 在抛出“std::out_of_range”错误实例后调用终止

来自分类Dev

在抛出“std::regex_error”what() 实例后调用终止:括号未关闭

Related 相关文章

  1. 1

    不会引发std :: out_of_range异常

  2. 2

    抛出'std :: out_of_range'实例后调用终止

  3. 3

    Node.js错误“抛出'std :: bad_alloc'what():std :: bad_alloc实例后调用终止”

  4. 4

    在PHP中使用system()执行程序时出错:抛出'std :: logic_error'实例后终止调用

  5. 5

    使用gcc编译代码后,不会输出std :: out_of_range异常字符串

  6. 6

    异常'out_of_range'不是std的成员?

  7. 7

    为什么在抛出'std :: bad_alloc'实例后终止调用?

  8. 8

    设置QLineEdit时std :: out_of_range

  9. 9

    libc ++ abi.dylib:以类型为std :: out_of_range的未捕获异常终止:basic_string错误吗?

  10. 10

    抛出'std :: regex_error'实例后调用终止

  11. 11

    不会引发std :: out_of_range异常

  12. 12

    比较二进制数字输入的字符时,抛出'std :: out_of_range实例后调用终止

  13. 13

    在我使用shared_ptr之后,抛出“ std :: bad_weak_ptr的实例后调用终止”是什么

  14. 14

    以类型为std :: out_of_range的未捕获异常终止终止错误

  15. 15

    在C ++中抛出'std :: out_of_range'实例后调用终止

  16. 16

    C ++向量:std :: out_of_range错误

  17. 17

    使用gcc编译代码后,不会输出std :: out_of_range异常字符串

  18. 18

    C ++中带有矢量的'std :: out_of_range'实例

  19. 19

    抛出'std :: regex_error'实例后调用终止

  20. 20

    抛出'std :: out_of_range'what():vector :: _ M_range_check实例后终止调用

  21. 21

    C++ 合并排序实现中抛出的 std::out_of_range 异常

  22. 22

    抛出“std::system_error”线程池实例后调用终止

  23. 23

    在抛出“std::system_error”实例后调用 Tensorflow 终止

  24. 24

    抛出'std::bad_alloc'的实例后调用C++终止

  25. 25

    将字母向前移动 3 个字母的程序,错误:在抛出 'std::out_of_range' 实例后调用终止

  26. 26

    在抛出 std::exception 实例后调用终止

  27. 27

    抛出“std::invalid_argument”实例后调用终止 what(): leetcode 问题中的 stoi 错误

  28. 28

    "if (argc < 2 || argc > 2)" 应该有 2 个参数吗?& 在抛出“std::out_of_range”错误实例后调用终止

  29. 29

    在抛出“std::regex_error”what() 实例后调用终止:括号未关闭

热门标签

归档