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

bud*_*ddy 2 c++ pointers global

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

class1.cpp

type list[1000];
type *p_list = list;
Run Code Online (Sandbox Code Playgroud)

现在我想使用这个列表并将一些值放入其中.这应该在方法中的另一个类中发生

class2.cpp

mousePressEvent_from_class_2()
{
    p_list[counter].x = pos().x(); 
}
Run Code Online (Sandbox Code Playgroud)

但编译器告诉我它不知道p_list.我怎么能改变呢?

Pra*_*ian 6

编译器需要知道在p_list其他地方声明了.将以下内容放入class1.h或放入class2.cpp(在文件范围内).

extern type *p_list;
Run Code Online (Sandbox Code Playgroud)

定义type也必须在class2.cpp.确保定义在头文件(class1.h)和class2.cpp中#include.