为了账号安全,请及时绑定邮箱和手机立即绑定

为什么后面释放p内存的时候会编译出错,显示标识符未被定义?

为什么后面释放p内存的时候会编译出错,显示标识符未被定义?


正在回答

3 回答

delete P 这个“P”是大些的,前面的是小写的,所以说这个大写的“P”没有定义

0 回复 有任何疑惑可以回复我~

#include <iostream>


using namespace std;


class Coordinate

{

public:

    int x;

    int y;

    void printX()

    {

        cout << x << endl;

    }

    void printY()

    {

        cout << y << endl;

    }

};


int main()

{

    Coordinate coor;

    coor.x=10;

    coor.y=20;

    coor.printX();

    coor.printY();


    Coordinate *p=new Coordinate();

    if(p==NULL)

    {

        return 0;

    }

    p->x=100;

    p->y=200;

    p->printX();

    p->printY();

    delete P;

    p=NULL;

    return 0;

}


0 回复 有任何疑惑可以回复我~

它定义的不是str吗。。。没有p啊。。。

0 回复 有任何疑惑可以回复我~
#1

周周周3716585 提问者

是定义Coordinate *p=new Coordinate()的这个 后面他有释放p的空间 delete p
2019-08-21 回复 有任何疑惑可以回复我~
#2

慕妹24344680 回复 周周周3716585 提问者

能提供一下完整代码吗。。
2019-08-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(上)
  • 参与学习       103411    人
  • 解答问题       701    个

封装--面向对象的基石,本教程力求帮助小伙伴们即学即会

进入课程

为什么后面释放p内存的时候会编译出错,显示标识符未被定义?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信