【发布时间】:2013-09-25 12:16:25
【问题描述】:
在我对幸福的无尽追求中,我遇到了这样的事情
auto temp = new int;
delete[0] temp;
在我看来,我就像...... “这不可能!”所以我启动了最特别和最叛逆的雪花编译器来测试它,你瞧,它编译并运行没有任何问题!
然后我在 GCC (4.8.1) 中尝试了它,但它拒绝了它并出现此错误
错误:数字常量前应为“]”
那请问各位战友,哪一个是对的? (当然不是 MSVC(11) ?!)如果你能引用标准,那就太好了。
【问题讨论】:
-
你对“幸福”的理解很奇怪。
-
delete[0]- 这是我第一次看到。 -
@nijansen:我就是这么奇怪
-
@LuchianGrigore 你来的时间还不够长。当我第一次学习 C++ 时,不必指定删除中的元素数量是一个新特性,所有编译器都允许你以旧方式做事,并指定。 (当然,即使在那时,
new[]和delete[]也从未有任何用处。)
标签: c++ visual-c++ language-lawyer