读书人

难道是书下错啦

发布时间: 2012-09-16 17:33:16 作者: rapoo

难道是书上错啦?
一下这段断码在c++primer(p152)上有const对象的动态分配和回收,为什么我编译时会出错呢。并且错误提示为:error C2468: 'new' : cannot allocate 'const'/'volatile' objects (type is 'const int'),不知道是什么意思。

#include <iostream>
using namespace std;

int main()
{
const int *pi = new const int(99);
cout<<*pi<<','<<pi<<endl;
delete pi;
return 0;
}

[解决办法]
用GCC编译没有问题的。
[解决办法]
C-Free 编译通过。。。
[解决办法]
const int *pi = new const int(99);

右边的const去掉,也许这是正确的,但是生产环境中,基本不会出现这样的写法。

送你一句话:“语法是死的,编译器是活的,就看人是不是灵光”
[解决办法]
这类问题请先说明是什么系统什么编译器

vs2008可以编译

读书人网 >C++

热点推荐