问题是db声明的范围.代码:
extern Database db;
Run Code Online (Sandbox Code Playgroud)
真的意思是"db在全球某个地方宣布,而不是在这里".然后代码不会继续并且实际上全局声明它,但是在main()中本地声明,这在main()之外是不可见的.代码应如下所示,以解决您的链接问题:
Database db;
int main ()
{
...
}
Run Code Online (Sandbox Code Playgroud)
extern Database db;
void some_function ()
{
...
}
Run Code Online (Sandbox Code Playgroud)