willaty 发表于 2016-09-15 00:40

new创建(*)[]不行?new的约束条件?

笔试有做到二维数组的,薄弱...以下都是正确的:
    int *p = new int ;
    int **q = new int *;
    int (*w) = new int ;
    int**r = new int *;


但第三句为何不能改成:int (*w) = new int (*);

或者说,我想new一个指针,指向含3个int的数组; 如何得到?(还是不能得到?)

windoze 发表于 2016-09-16 01:00

然而int *是(int *),不是(int)*
如果你理不顺,还是用typedef吧。

willaty 发表于 2016-09-18 07:38

恩,还是用typedef吧,整理完成了.
可以使用int (**p) = new (int (*));
最后那个大括号跟typedef作用相似,但去掉则不行,可能是编译器匹配的问题.
页: [1]
查看完整版本: new创建(*)[]不行?new的约束条件?