gpt4 book ai didi

c++ - 非静态数据成员的无效使用 C++ 学生

转载 作者:搜寻专家 更新时间:2023-10-31 01:00:19 26 4
gpt4 key购买 nike

我是一个刚开始编程的菜鸟,我想知道为什么我会收到一条错误消息:非静态数据成员“Lavirint::n”的使用无效?

class Lavirint{
private:
int n, m;
bool mapa[n + 2][m + 2]; //is this valid?
...
}

编辑 - 我在同一行中添加了一些其他变量,但它们不会导致更多错误。

最佳答案

没有。这是无效的。不能在没有特定对象的地方使用成员变量,也不能在编译时使用任何未知值来调整类内 C 数组的大小。

您引用的实际错误消息指的是第一个(也更难理解)的问题。您的成员变量仅在特定对象的上下文中具有值,但类的结构是所有对象共有的,并且在构造任何对象之前定义。

第二个问题更基本,但第一个问题显然阻止了编译器注意到第二个问题。

关于c++ - 非静态数据成员的无效使用 C++ 学生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31323805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com