以下简单的程序代码段使用
gcc-4.3.4提供了编译错误.
程序:
int main() { char *ptr = new char[10]; char *ptr1 = new char[]; return 0; }
编译错误:
prog.cpp: In function ‘int main()’:
prog.cpp:4: error: expected primary-expression before ‘]’ token
prog.cpp:3: warning: unused variable ‘ptr’
prog.cpp:4: warning: unused variable ‘ptr1’
但同样的编译与MSVC没有任何诊断信息.
所以我的问题是:
标准允许调用新的[]而不指定大小?还是MSVC中的一个bug?
有人可以从标准中提供一个参考,这将会最终确定上述代码示例是不正确的还是格式正确的?
我看了一下:
5.3.4新[expr.new]&
18.4.1.2数组形式[lib.new.delete.array]
但不能找到有关行为的确凿证据.
解决方法
原文地址:https://www.jb51.cc/c/114867.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。