没有类型的外部

Del*_*ani 5 c extern

如果语法extern

extern <type> <name>;
Run Code Online (Sandbox Code Playgroud)

extern如果我有一个未命名的单用结构,我该怎么办?

struct {
    char **plymouthThemes;
    char *plymouthTheme;
} global;
Run Code Online (Sandbox Code Playgroud)

我试过了

extern global;
Run Code Online (Sandbox Code Playgroud)

没有任何类型,它不起作用.

或者,我必须命名结构吗?

Arm*_*yan 5

您需要命名您的结构并将其放在.h文件中,或者在每个使用全局的源文件中手动包含该定义.像这样

///glob.h
    struct GlobalStruct
    {
       ///char** ...
       ///
    };

///glob.cpp
   #include "glob.h"
   struct GlobalStruct global; 

///someOtherFile.cpp
#include "glob.h"

extern struct GlobalStruct global; 
Run Code Online (Sandbox Code Playgroud)