Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 为什么会出现断言错误? #包括 使用名称空间std; int main() { int size=0; int*myArray=newint[size+1]; 大小; cout=0;--i) { cout=0;--i) { cout_Visual C++_Assertions - Fatal编程技术网

Visual c++ 为什么会出现断言错误? #包括 使用名称空间std; int main() { int size=0; int*myArray=newint[size+1]; 大小; cout=0;--i) { cout=0;--i) { cout

Visual c++ 为什么会出现断言错误? #包括 使用名称空间std; int main() { int size=0; int*myArray=newint[size+1]; 大小; cout=0;--i) { cout=0;--i) { cout,visual-c++,assertions,Visual C++,Assertions,您的数组被分配为int[1]。它需要在您读入大小值后进行分配。您的数组被分配为int[1]。它需要在您读入大小值后进行分配。当size=0时,您正在初始化数组,数组大小为1 超出数组边界(1)时会出现断言错误。当size=0时初始化数组,数组大小为1 如果超出数组边界(1),则会出现断言错误。myArray的大小始终为0+1=1。我从用户输入的任何内容开始,您进行的第一次数组访问是myArray[i]。因此,假设用户输入5,您的数组大小为1,您访问myArray[5]。它将失败 我会在您输入大小

您的数组被分配为int[1]。它需要在您读入大小值后进行分配。

您的数组被分配为int[1]。它需要在您读入大小值后进行分配。

当size=0时,您正在初始化数组,数组大小为1
超出数组边界(1)时会出现断言错误。

当size=0时初始化数组,数组大小为1
如果超出数组边界(1),则会出现断言错误。

myArray的大小始终为0+1=1。我从用户输入的任何内容开始,您进行的第一次数组访问是myArray[i]。因此,假设用户输入5,您的数组大小为1,您访问myArray[5]。它将失败


我会在您输入大小后分配数组。

myArray的大小始终为0+1=1。我从用户输入的任何内容开始,您进行的第一次数组访问是myArray[I]。因此,假设用户输入5,您的数组大小为1,您访问myArray[5]。它将失败


我会在您输入大小后分配数组。

这段代码到底想做什么?您将myArray初始化为一个只包含1 int的数组,然后读取大小,然后尝试写入数组中的任意位置?谢谢大家!最初我只收到一个编译错误,并将大小初始化为0,而没有考虑清除错误。但这产生了一个运行时错误。我通过在输入大小后不初始化大小并分配myArray来修复它。再次感谢各位!@Brandon:还有一件事,您的for循环是从
int I=size;
开始的,这将是一个无效索引。它应该从
size-1
@Naveen:我分配了大小为+1的数组,所以它是正确的很好。这段代码到底想做什么?你将myArray初始化为一个只包含1 int的数组,然后读取大小,然后尝试写入数组中的任意位置?谢谢大家!起初我刚收到一个编译错误,并将大小初始化为0,而没有考虑清除错误。但这产生了一个运行时错误。我修复了它通过不初始化大小并在我输入大小后分配myArray对其进行了修改。再次感谢各位!@Brandon:还有一件事,您的for循环是从
int I=size;
开始的,这将是一个无效索引。它应该从
size-1
@Naveen:我分配了大小为+1的数组,所以应该没有问题。
#include <iostream>
using namespace std;

int main ()
{
 int size = 0;
 int* myArray = new int [size + 1];
 cout << "Enter the exponent of the first term: ";
 cin >> size;
 cout << endl;
 for (int i = size; i >= 0; --i)
 {
  cout << "Enter the coefficient of the term with exponent " 
   << i << ": ";
  cin >> myArray[i];
 }
 for (int i = size; i >= 0; --i)
 {
  cout << i << endl;
 }
 return 0;
}