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

时间:2015-07-21 19:52:54

标签: c++ header-files

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

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”。相反,我得到错误:“错误:'sffont'没有命名类型”。我该如何解决这个问题?

正如您所看到的,我使用的是SFML库,但我认为它不相关。

1 个答案:

答案 0 :(得分:2)

诸如

之类的行
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Rectangle x:Name="MyRectangle" Width="100" Height="100" Fill="Aqua"></Rectangle>
    <Button Grid.Row="1" Content="Animate" Click="ButtonBase_OnClick"/>
</Grid>

    private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
        var translate_x = new DoubleAnimation()
        {
            From = 0,
            To = 100,
            Duration = TimeSpan.FromSeconds(5),
        };
        var translate_y = new DoubleAnimation()
        {
            From = 0,
            To = 100,
            Duration = TimeSpan.FromSeconds(5),
        };

        var scale_x = new DoubleAnimation()
        {
            From = 1,
            To = 2,
            Duration = TimeSpan.FromSeconds(5),
        };

        var scale_y = new DoubleAnimation()
        {
            From = 1,
            To = 2,
            Duration = TimeSpan.FromSeconds(5),
        };
    }

仅在其他功能中有效。

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

sfFont.loadFromFile("ubuntu.ttf");