【问题标题】:Make sf::Shape a parameter type, SFML使 sf::Shape 成为参数类型,SFML
【发布时间】:2021-01-09 16:54:33
【问题描述】:

我正在尝试创建一个函数,该函数接受参数为 sf::Shape 对象(为了只接受圆形、矩形等) 但由于它是一个抽象类,它会抛出错误“不允许使用抽象类类型 sf::Shape 的参数”

这是我的函数的签名: GraphObject::GraphObject(sf::Shape shape, int z = 0)

还有其他方法可以将形状作为参数传递吗?谢谢

【问题讨论】:

    标签: c++ sfml


    【解决方案1】:

    接受shape 作为引用或指针: GraphObject::GraphObject(sf::Shape& shape, int z = 0)GraphObject::GraphObject(sf::Shape* shape, int z = 0)

    推理是不言自明的。您不能拥有抽象类类型的对象 - 好吧,因为它们是 abstract

    【讨论】:

      猜你喜欢
      • 2013-06-12
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多