三级指针中写入数据时报错

问题描述

在往三级指针中写入数据时报错,如果用devc++运行不会报错,用vs2022运行就会出现下面的错误,求解答,谢谢

#include 
#include 
using namespace std;

struct M_Data {
    int m_num;
    double m_temperature;
    double m_array2;
    double m_array3;
    double m_array4;
};

int main() {
    M_Data a;
    M_Data*** b = new M_Data * *[3];

    cin >> a.m_num;
    b[0][0]->m_num = a.m_num;
    cout << b[0][0]->m_num << endl;

    system("pause");
    return 0;
}
运行结果及报错内容

img

M_Data*** b = new M_Data * *[3]; 只是定义了3个M_data**指针的数组而已,但三个指针都没有分配指向的空间啊