vs报错:已在 ****.exe 中执行断点指令(__debugbreak()语句或类似调用)。

vs报错:已执行断点指令
下面这个程序在输出是没有问题的,就是在程序执行完之后才弹出中断的窗口。
#include
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;
}

错误内容:

img

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

12行应该是 for (int i = 0; i < m + 2; i++) 写成n是错误的