C++;非静态数据成员的使用无效 我正在开发C++应用程序,我正在得到错误 非静态数据成员C++的使用无效。我已经发布了所有与错误相关的代码。如果有人能指出我的愚蠢,我将不胜感激。谢谢
Const2DCDP.hC++;非静态数据成员的使用无效 我正在开发C++应用程序,我正在得到错误 非静态数据成员C++的使用无效。我已经发布了所有与错误相关的代码。如果有人能指出我的愚蠢,我将不胜感激。谢谢,c++,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
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;
}
}
很明显,CDP没有名为Release的成员函数,ex不是静态的,这意味着您可以从分配的对象中,而不是从类本身中超出它。您使用的数据成员(
ex
)不是静态成员。因此不能在类名上调用它,您需要一个类实例来使用它。错误消息非常清楚。你知道静态和非静态成员之间的区别吗?我喜欢文件的命名约定。对它们的功能非常直观。PS:为什么在C++代码中使用<代码>免费>代码>请您说明如何使用它。它会帮助别人too@user3423301你需要了解基本知识。定义类不会给你一个对象,它只是定义对象的行为。您希望能够拥有多个Const2DCDP
类型的对象,每个对象都具有不同的ex
值,对吗?