" ABS"问题:/重载功能 [英] "ABS" problem :/ overloaded functions

查看:139
本文介绍了" ABS"问题:/重载功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对重载功能的暧昧调用。无法解决它,我不知道abs是如何工作的,只是试图修复一个代码并用它来为视频游戏作弊哈哈。

如果你能改写那条线,任何帮助都会受到赞赏我很欣赏它。



我尝试过:



ambigious call to overloaded function. Cant fix it and i dont know how abs's work, just trying to fix a code and use it to make a cheat for a video game haha.
Any help would be appreciated if you can rewrite that line for me i'd appreciate it alot.

What I have tried:

float GetWavRoll(Vector dir)
{
	Vector forward(1, -dir.x, dir.y);

	Vector up(0, -dir.x, abs(dir.y + (1 / dir.y) + (1 / dir.y)));

	if (dir.x > 0 && dir.y < 0)
		up.y = abs(up.y);
	else if (dir.x < 0 && dir.y < 0)
		up.y = -abs(up.y);

	Vector left = up.Cross(forward);

	float roll = deg(atan2f(left.z, (left.y * forward.x) - (left.x * forward.y)));
}

推荐答案

另见 abs,labs,llabs,_abs64 [ ^ ]。


abs 在使用浮点变量时需要一个整数参数(我猜)。使用 fabs [ ^ ]。



[update]

正如理查德正确评论的那样,C ++的 abs 的实现已经重载。

[/ update]
abs expects an integer parameter while you are using floating point variables (I guess). Use fabs[^] instead.

[update]
As Richard correctly remarked, there are overloaded implementation of abs for C++.
[/update]


这篇关于&QUOT; ABS&QUOT;问题:/重载功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆