【发布时间】:2020-10-14 12:53:49
【问题描述】:
我一直在玩 C++,但发现了一些我不太理解的东西:
typedef float degrees;
typedef float radians;
void my_func(degrees n);
void my_func(radians m);
像这样声明一个函数,我收到一个警告,该函数被重新声明,好像它们是相同的。这是否意味着,在查看函数定义时,编译器只看到内置类型而不关心自定义类型,并且由于它们是机器人浮点数,它只是认为它们是同一个函数?...
如果是这样,我该如何解决?我只需要制作不同的功能吗?
【问题讨论】:
-
你可以看看 "strong typedef" (as BOOST_STRONG_TYPEDEF)
-
您没有定义自定义类型,您使用不同的别名来定义相同类型的 float
-
顺便说一句,在这里,我将使用静态构造函数
Degree和Radian创建一个类Angle。
标签: c++ function-declaration custom-type