使sf::Shape成为参数类型,SFML
Make sf::Shape a parameter type, SFML
我正在尝试制作一个接受参数 sf::Shape 对象的函数(以便仅接受圆圈、矩形等)
但因为它是一个抽象 class,它抛出错误“不允许抽象 class 类型 sf::Shape 的参数”
这是我函数的签名:
GraphObject::GraphObject(sf::Shape shape, int z = 0)
还有其他方法可以将形状作为参数传递吗?谢谢
接受 shape
作为参考或指针:
GraphObject::GraphObject(sf::Shape& shape, int z = 0)
或 GraphObject::GraphObject(sf::Shape* shape, int z = 0)
.
推理是不言自明的。您不能拥有抽象 class 类型的对象 - 因为它们是 abstract.
我正在尝试制作一个接受参数 sf::Shape 对象的函数(以便仅接受圆圈、矩形等) 但因为它是一个抽象 class,它抛出错误“不允许抽象 class 类型 sf::Shape 的参数”
这是我函数的签名:
GraphObject::GraphObject(sf::Shape shape, int z = 0)
还有其他方法可以将形状作为参数传递吗?谢谢
接受 shape
作为参考或指针:
GraphObject::GraphObject(sf::Shape& shape, int z = 0)
或 GraphObject::GraphObject(sf::Shape* shape, int z = 0)
.
推理是不言自明的。您不能拥有抽象 class 类型的对象 - 因为它们是 abstract.