pow函数有七个重载
inline double __cdecl pow(double _X, int _Y)
inline double __cdecl pow(double _X, double _Y)
inline float __cdecl pow(float _X, int _Y)
inline float __cdecl pow(float _X, float _Y)
inline int __cdecl pow(int _X, int _Y)
inline double __cdecl pow(double _X, int _Y)
inline double __cdecl pow(double _X, double _Y)
比如你调用 pow(target.usXPos - origin.usXPos, 2.0)
如果target.usXPos - origin.usXPos结果是int型,2.0是float型,没有参数类型完全符合的调用,所以要进行参数类型转换。但编译器发现有许多种转换方法,所以会报错。
你应该显示的转换一下参数的类型,比如
pow((double)(target.usXPos - origin.usXPos), (double)2.0f)
这样应该就能通过编译了
“pow” : 7 个重载有相似的转换的错误解决方式
发帖者
bubble
时间:
9/02/2009 04:56:00 下午
订阅:
博文评论 (Atom)
0 评论:
发表评论