我有两个在给定框架中定义点和 vector 的结构。
struct point3D
{
float x;
float y;
float z;
};
struct vector3D
{
float x;
float y;
float z;
};
之所以将它们定义为两个不同的结构,是因为还有其他函数将点(
point3D
)与 vector (vector3D
)区别对待,因为它们具有相同类型的成员变量我想知道是否有一种方法可以将其中一个转换为另一个说法:
point3D variable1;
vector3D variable2;
variable2=(vector3D)variable1;
最佳答案
你可以这样做
struct vector3D
{
float x;
float y;
float z;
};
struct point3D
{
float x;
float y;
float z;
explicit operator vector3D() {
return {x, y, z};
}
};
关于c++ - 类型转换自定义结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51206022/