vs报错:已执行断点指令
下面这个程序在输出是没有问题的,就是在程序执行完之后才弹出中断的窗口。
#include<iostream>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int m, n;
cin >> m >> n;
int** matrix = new int* [m + 2];
for (int i = 0; i < n + 2; i++)
matrix[i] = new int[n + 2];
for (int i = 0; i < m + 2; i++)
for (int j = 0; j < n + 2; j++)
matrix[i][j] = 0;
for(int i = 1;i<=m;i++)
for (int j = 1; j <= n; j++)
{
int temp = 0;
cin >> temp;
matrix[i][j] = temp;
}
for (int i = 0; i < m + 2; i++)
{
for (int j = 0; j < n + 2; j++)
cout << matrix[i][j] << ' ';//编译器在这一行有两个警告,一个是使用未初始化指针*matrix,另一个是取消对NULL指针matrix[i]的引用
cout << endl;
}
for (int i = 0; i < n + 2; i++)
delete[] matrix[i];
delete[] matrix;
}
return 0;
}
错误内容:

我也想过有可能是因为没有在用完内存之后删除,但是删了之后还是一样的问题,请指导一下。