以下是cpp文件中声明的变量,但是我收到错误,所以我进行了一项研究,发现我需要在头文件中声明它。因此,如何在头文件
中声明和外部类指针 extern AnimationController* g_pAnimationController;
答案 0 :(得分:2)
就像你在那里一样。例如:
// In header file:
// Declare the pointer with external linkage.
extern int* my_global_int;
// In source file:
// Define the pointer so that the linker can link stuff together with the code
// referencing the `my_global_int` symbol.
int* my_global_int = 0;
对于类和结构,如果类型未知,那么我们需要一个前向声明,以便编译器知道它是什么。但是我们可以将它与声明结合起来,如下所示:
// In header file:
extern class AnimationController* g_pAnimationController;
或者写得更详细:
// In header file:
class AnimationController;
extern AnimationController* g_pAnimationController;
评论问题更新:
#include <map>
#include <string>
// Declare AnimationCallback
extern std::map<std::string, AnimationCallback*> g_mCallbackMap;