为什么我不能初始化char** c
:
c = new (char*)[10];
, 同时:
c = new char*[10];
还好吗?
最佳答案
这有点奇怪。 new-statement有两种格式,要么
new (optional_parameters) ( type ) optional_initializer
或
new (optional_parameters) type optional_initializer
您对 new (char*)[10]
的尝试不符合第一种形式,即使 (char*)
看起来像 (type)
,因为 [10]
不是有效的初始化程序。
您的其他尝试确实符合第二种形式,type
为 char*[10]
并且缺少两个可选部分。
关于c++ - 为什么我不能用 c = new (char*)[10] 初始化 char** c,而 c = new char*[10] 可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32880091/