C ++无效使用非静态数据成员

时间:2015-01-25 15:16:26

标签: c++

我正在开发c ++应用程序,我收到错误 Invalid use of non-static data member C++。我已经发布了与错误相关的所有代码。如果有人能指出我的愚蠢,我将非常感激。谢谢!

Const2DCDP.h

class Const2DCDP{
public:

    int *ex;

};

2DCPDP4.h

#include "Const2DCDP.h"

    class CDP{
    }

2DCPDP4.cpp

#include "2DCDP4.h"

    void CDP::Release()
    {

        if(Const2DCDP::ex != NULL){  // Invalid use of non static data //member 'ex'
            free(ex);
            ex = NULL;
        }      
    }

2 个答案:

答案 0 :(得分:4)

您使用的数据成员(ex)不是静态成员。因此无法在类名称上调用它,您需要使用类实例来使用它。

答案 1 :(得分:2)

嗯,很明显,CDP没有名为Release的成员函数,而ex不是静态的,这意味着你可以从分配的对象中过多,而不是从类本身中删除它