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

C++ Invalid use of non-static data member

本文关键字:静态 数据成员 无效 C++      更新时间:2023-10-16

我正在那里开发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;
        }      
    }

您使用的数据成员 ( ex ) 不是静态成员。所以不能在类名上调用它,你需要一个类实例来使用它。

很清楚,CDP没有名为Release的成员函数,ex也不是静态的,这意味着你可以从分配的对象中超额它,而不是从类本身