这样动态分配为什么不行啊?
int(*pt)[3] = new int [3];
你现在定义的数组,数组每一个元素是一个指向int类型的指针。
我猜测你应该是想定义一个存放int类型的数组,如下
int *p = new int[3];//p默认指向第一个(下标为0)的元素
#include <array>
auto main() -> int
{
// 普通动态数组
int *pt1 = new int[3];
// 二维数组
using intArr = int[3];
int(*pt2)[3] = new intArr[1];
// 二维数组
int(*pt3)[3] = new int[1][3];
// 为了不教偏了, 给一个推荐实现
// 现代 C++ 推荐这么玩
std::array<int, 3> *pt4 = new std::array<int, 3>[1];
return 0;
}