假设我有以下的Haskell代码:
data RigidBody = RigidBody Vector3 Vector3 Float Shape -- position, velocity, mass and shape
data Shape = Ball Float -- radius
| ConvexPolygon [Triangle]
在C++中,最好的表达方式是什么?
struct Rigid_body {
glm::vec3 position;
glm::vec3 velocity;
float mass;
*???* shape;
};
我想问的是,在结构体中如何表示形状,当它可以是两种类型之一。