SFML 中缺少 sf::Vector2 类模板

Missing sf::Vector2 class template in SFML

本文关键字:Vector2 sf SFML      更新时间:2023-10-16

我一直在浏览 http://www.sfml-dev.org/tutorials/1.6/的教程,但在使用视图教程中遇到了问题。

这是我正在处理的代码部分:

#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
int main(){
    // Create instance of Window
    sf::Window App(sf::VideoMode(800, 600, 32), "SFML Window");
    sf::Vector2 Center(1000, 1000);
    sf::Vector2 HalfSize(400, 300);
    sf::View View1(Center, HalfSize);
    // So on...

我正在使用Mac OSX 10.8,并且正在使用g ++进行编译。我收到错误消息:

error: missing template arguments before ‘Center’

如何更正此错误?

编辑:我不知何故读错了教程。Ment to be Vector2f.

你的问题就像错误所说的那样,你缺少Vector2模板的类型,从View类的构造函数来看,

View (const sf::Vector2f &Center, const sf::Vector2f &HalfSize)

你想要一个Vector2<float>.这些类型已经在Vector2.hpp中为您typedef

// Define the most common types
typedef Vector2<int>          Vector2i;
typedef Vector2<unsigned int> Vector2u;
typedef Vector2<float>        Vector2f;

指定向量的类型,如sf::Vector2<int>