Можно ли в int** динамическом массиве хранить указатель на другой int**?

    include <iostream>
    using namespace std;
    
    
    int main()
    {
        int** a = new int* [4];
        int** p = new int* [4];
    
        a[0] = new int(4);
        a[1] = new int(5);
    
        p[0] = new int(6);
        p[1] = new int(9);
    
        a[2] = *p; 
        /* идея в том что я хочу здесь хранить **p, но компилятор ругается. 
         я понимаю, что в массиве int нельзя хранить string или float, 
        но почему нельзя хранить в массиве указателей другой указатель, какая разница на что 
        он указывает??? */
        cout << p << endl;
        for (int i = 0; i < 4; i++) {
            cout << a[i] << " " << p[i] << endl;
           //cout << *mat[i] << " " << *mat1[i] << endl;
            cout << &a[i] << " " << &p[i] << endl<< endl;
        }
        for (int i=0; i<4; i++)
            cout << a[2][i] << "  "; 
    }

Ответы (0 шт):