声明struct表时std :: bad_alloc错误

Sła*_*osz 0 c c++

我声明了简单的结构:

struct Heap {
  int size;
  int *heap_array;
};
Run Code Online (Sandbox Code Playgroud)

当我试图创建表时,kstdin 中的int是:

Heap *rooms = new Heap[k];
Run Code Online (Sandbox Code Playgroud)

我有:

terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Aborted
Run Code Online (Sandbox Code Playgroud)

字面上使用int一切都很好:

Heap *rooms = new Heap[0];
Run Code Online (Sandbox Code Playgroud)

如何申报这样的表?

Tom*_*err 5

您读取的价值可能stdin无效.如果读取失败,您可能会有一些默认值,如2 ^ 32.