同一段程序,在VC6.0编译通过,但在VC7.1中却报错

网络灵猫 2003-08-07 02:27:02
下面一段程序,在VC6.0中编译正确,在VC7.1中却报错!
//得到两个矢量角的余弦
float CMath::GetTwoVectorAngleCosine(NORMAL na,NORMAL nb)
{
double temp,length1,length2;

NORMAL n1,n2;
n1=Normalization(na);
n2=Normalization(nb);

temp=n1.nx*n2.nx+n1.ny*n2.ny+n1.nz*n2.nz;
length1=pow(n1.nx*n1.nx +n1.ny*n1.ny +n1.nz*n1.nz,0.5);//678
length2=pow(n2.nx*n2.nx +n2.ny*n2.ny +n2.nz*n2.nz,0.5);//679

return float(temp/(length1*length2));
}
错误信息为:
D:\MyTest\CMath.cpp(678): error C2666: “pow” : 7 个重载有相似的转换
D:\MyTest\CMath.cpp(679): error C2666: “pow” : 7 个重载有相似的转换
请高手帮忙看一下,问题出在什么地方?
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
网络灵猫 2003-08-22
  • 打赏
  • 举报
回复
问题解决了,0.5后面要加f。看来VC7.1的效验要比VC6.0强,可以防止一些潜在的隐患。
网络灵猫 2003-08-11
  • 打赏
  • 举报
回复
要怎样解决呢?
bborn 2003-08-08
  • 打赏
  • 举报
回复
很多这种情况的
网络灵猫 2003-08-08
  • 打赏
  • 举报
回复
在另一个程序又出现这个"n个重载有相似的转换"的问题,好象是与VC7.1的mach.h这个头文件有关,不知道VC7.1改了些什么?

684

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧