偶尔,我在我的程序代码的一处打错了字:
int a = 10;
char* b = new char(a);
错误很明显:我写的是 () 而不是 []。奇怪的是......代码编译正常,它在调试器中运行正常。但是在执行带有这些行的函数后,在调试器外部编译的 .exe 崩溃了片刻。
第二行代码真的合法吗?如果是,这对编译器意味着什么?
最佳答案
这是一个数值为 a
的单个字符,在本例中为 10
。您知道,指针不仅仅指向数组。
关于c++ - 我真的可以用圆括号初始化数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098922/