编译错误-非静态数据成员c++ student的无效使用
compiler errors - invalid use of non-static data member c++ student
我是一个刚刚开始编程的新手,我想知道为什么我会得到一个错误消息,上面写着:无效使用非静态数据成员'Lavirint::n'?
class Lavirint{
private:
int n, m;
bool mapa[n + 2][m + 2]; //is this valid?
...
}
编辑-我在同一行中添加了一些其他变量,但它们不会导致更多的错误。
No。这是无效的。不能在没有特定对象的地方使用成员变量,也不能在类中使用任何编译时未知的值来确定C数组的大小。
您引用的实际错误消息指的是第一个(并且更难理解)问题。成员变量只有在特定对象的上下文中才有值,但是类的结构是所有对象共有的,并且是在构造任何对象之前定义的。
第二个问题更为根本,但是第一个问题显然阻止了编译器注意第二个问题。
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 无法访问嵌套类.类的使用无效
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 如何解决错误:SCIP C++中的 SCIP 阶段无效 <10>
- 在没有参数列表的情况下使用模板名称"Event"无效,模板问题
- FFMPEG配置文件级别id大小无效
- 错误:从"int"到枚举c++的转换无效
- 如何修复此错误:className::className的无效使用
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- C++-模板嵌套类的引用初始化无效
- 错误:无效的预处理指令 #i 的意思是 #if?
- 多维数组 C++ 中数组下标的类型"int[int]"无效
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- 从 'int' 到 'int*' CPP 的转换无效
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- 由于无效的 ValidateRgn() 子窗口不会收到WM_PAINT消息
- C++ PTHREADS - 无效转换无效*(*)()到无效*(*)(无效*)
- 声明为无效的变量或字段'...' Ardunio 编译器上的错误
- 数组下标的类型"float*[float]"无效
- 编译错误-非静态数据成员c++ student的无效使用