访问另一个类中的全局指针

发布于 2024-12-01 16:26:58 字数 313 浏览 1 评论 0原文

我已经在一个类中全局定义了一个列表作为指针:

class1.cpp

type list[1000];
type *p_list = list;

现在我想使用这个列表并向其中放入一些值。 中,

这应该发生在另一个类的方法class2.cpp

mousePressEvent_from_class_2()
{
    p_list[counter].x = pos().x(); 
}

但编译器告诉我它不知道 p_list。我怎样才能改变这一点?

I have defined globally a list in one class as a pointer:

class1.cpp

type list[1000];
type *p_list = list;

Now I want to use this list and put some values into it. This should happen in another class, in a method

class2.cpp

mousePressEvent_from_class_2()
{
    p_list[counter].x = pos().x(); 
}

But the compiler is telling me that it doesn't know p_list. How can I change that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

耳根太软 2024-12-08 16:26:58

编译器需要知道 p_list 是在其他地方声明的。将以下内容放入 class1.hclass2.cpp (在文件范围内)。

extern type *p_list;

type 的定义也必须在 class2.cpp 中可见。确保定义位于头文件 (class1.h) 中,并且 class2.cpp #include 包含此头文件。

The compiler needs to know that p_list is declared elsewhere. Put the following in class1.h or in class2.cpp (at file scope).

extern type *p_list;

The definition of type must also be visible in class2.cpp. Make sure the definition is in a header file (class1.h) and class2.cpp #includes this header.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文