我正在开发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;
}
}
答案 0 :(得分:4)
您使用的数据成员(ex
)不是静态成员。因此无法在类名称上调用它,您需要使用类实例来使用它。
答案 1 :(得分:2)
嗯,很明显,CDP没有名为Release的成员函数,而ex不是静态的,这意味着你可以从分配的对象中过多,而不是从类本身中删除它