我有我在程序中使用的函数和变量的单独文件;头文件和实现文件。
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库,但我认为它不相关。
答案 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");