求问:我是在vs环境下,报了crt检测到应用程序在堆缓冲区结束后写入内存的错误,这个问题在哪里呢?Dev c++没有报错
#include <iostream>
using namespace std;
int* get_arr(int* a, int size) {
int* pa = new int[size - 1];
for (int i = 0; i < size; i++) {
pa[i] = a[i + 1] - a[i];
}
return pa;
}
int main() {
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int* p = get_arr(a, 10);
for (int i = 0; i < 9; i++) {
cout << p[i] << ' ';
}
cout << endl;
delete[] p;
p = NULL;
cout << p << endl;
return 0;
}