C++ 无效使用非静态数据成员
C++ Invalid use of non-static data member
我正在那里开发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也不是静态的,这意味着你可以从分配的对象中超额它,而不是从类本身
相关文章:
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 静态数据成员模板专用化的实例化点在哪里
- 调用在 HXX 文件中声明的静态数据成员
- 虚拟成员函数的定义是否强制在同一转换单元中动态初始化静态数据成员?
- 错误: 无效使用非静态数据成员"应用程序::应用程序构造函数"
- 静态数据成员:它"const declaration / constexpr definition"起作用?
- 何时需要定义类的静态数据成员 (un/-)
- 为什么静态数据成员不能在c++11中的类中初始化
- 静态数据成员的模板专用化
- 拒绝包含某些公共静态数据成员的类型
- GCC:在调试构建中优化的静态数据成员
- 类模板静态数据成员定义/声明/初始化
- C++ 中的静态数据成员
- 如果类在 C++ 中具有常量或引用类型的非静态数据成员,为什么编译器不提供默认赋值运算符?
- 使用 lambda 函数初始化静态数据成员
- 引用静态数据成员
- 学习C++并在早期示例中遇到错误(在非静态数据成员之前需要构造函数)
- Windows 上的 Clang/LLVM 7 和 8 多次初始化内联静态数据成员(使用 link.exe 和 lld-
- 为什么不能使用"( )"为类的非静态数据成员提供默认值?
- 不带初始值设定项的 constexpr 静态数据成员