一个简单的C++问题请大虾指点

[复制链接]
查看11 | 回复1 | 2011-8-29 08:30:12 | 显示全部楼层 |阅读模式
#include
using namespace std;
class A
{
public:
        A(){x=new int; *x=5;}
        ~A(){delete x;x=NULL;}

A(const A&a)
        {
        coutprint()<<endl;
return 0;
}
C:\Program Files\Microsoft Visual Studio\MyProjects\w\a.cpp(6) : error C2440: '=' : cannot convert from 'int *' to 'int'

This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\Program Files\Microsoft Visual Studio\MyProjects\w\a.cpp(6) : error C2100: illegal indirection
C:\Program Files\Microsoft Visual Studio\MyProjects\w\a.cpp(7) : error C2541: delete : cannot delete objects that are not pointers
C:\Program Files\Microsoft Visual Studio\MyProjects\w\a.cpp(11) : error C2440: '=' : cannot convert from 'int *' to 'int'

This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\Program Files\Microsoft Visual Studio\MyProjects\w\a.cpp(12) : error C2100: illegal indirection
C:\Program Files\Microsoft Visual Studio\MyProjects\w\a.cpp(12) : error C2100: illegal indirection
C:\Program Files\Microsoft Visual Studio\MyProjects\w\a.cpp(14) : error C2100: illegal indirection
C:\Program Files\Microsoft Visual Studio\MyProjects\w\a.cpp(15) : error C2100: illegal indirection
Error executing cl.exe.

回复

使用道具 举报

千问 | 2011-8-29 08:30:12 | 显示全部楼层
A(){x=new int; *x=5;}private:int x;把 X改成 int *x;...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行