gpt4 book ai didi

c++ - 无法使用 SFML 在结构内部构造 Vector2f 对象

转载 作者:太空宇宙 更新时间:2023-11-04 11:33:38 25 4
gpt4 key购买 nike

您好,我在尝试这段代码时遇到错误:

    #include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>

const float ballVelocity = 8.f;

struct Ball
{
Vector2f velocity(-ballVelocity, -ballVelocity);
};

我正在使用 SFML 并通过教程完成它,它应该可以工作,但 Visual Studio 在这一行中说:

Vector2f velocity(-ballVelocity, -ballVelocity);

需要一个类型说明符。

(编辑:清楚我正在尝试创建 Vector2 的对象)

最佳答案

如果您尝试使用非静态数据成员初始化,则不能那样做。您需要使用大括号初始化或等于(=)初始化。这些中的任何一个都应该工作:

struct Ball
{
Vector2f velocity {-ballVelocity, -ballVelocity};
};

或者这个:

struct Ball
{
Vector2f velocity = Vector2f(-ballVelocity, -ballVelocity);
};

不过,如果我没记错的话,SFML 的组件存在于 sf 命名空间中,因此对 Vector2f 的任何引用实际上都需要限定为 sf::Vector2f.

关于c++ - 无法使用 SFML 在结构内部构造 Vector2f 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23619553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com