运行 单独文件中对象的成员函数

Run member function of an object in separate file

我的程序中使用的函数和变量有单独的文件;一个头文件和一个实现文件。

file.hpp:

#ifndef FILE_H
#define FILE_H

#include <SFML/Graphics.hpp>

extern sf::Font sfFont;

#endif // FILE_H

file.cpp:

#include "file.hpp"

sf::Font sfFont;

sfFont.loadFromFile("ubuntu.ttf");  // <- error

我的问题在我评论过的那一行。我除了 运行 成员函数 "loadFromFile" 的那一行。相反,我收到错误:"error: ´sfFont´ does not name a type"。我该如何解决?

如您所见,我使用了 SFML 库,但我认为它不相关。

行如

sfFont.loadFromFile("ubuntu.ttf");

仅在其他函数内部有效。

如果您希望能够进行该函数调用,您可以使用辅助函数来初始化虚拟变量并在辅助函数中进行函数调用。

static int init()
{
   sfFont.loadFromFile("ubuntu.ttf");
   return 0;
}

int dummy = init();