我的变量总是变成零
My variable always becomes a zero
我的C++代码有问题,我对毕达哥拉斯做了两个步骤。
在做毕达哥拉斯函数的同时,我得到了a和b的长度,但我的变量总是等于0,即使X和Y点显示出它们各自的值。
不幸的是,当对结果进行平方根运算时,会出现一个错误,因为你不能对0进行平方根。
它看起来有点复杂,但这是我能得到的最整洁的
hypPrevious = (
( *(previousCalcp->getX()) - *(currentCalcp->getX()) )
*
( *(previousCalcp->getX()) - *(currentCalcp->getX()) )
)
+
(
( *(currentCalcp->getY()) - *(previousCalcp->getY()) )
*
( *(currentCalcp->getY()) - *(previousCalcp->getY()) )
);
根据您给我们的信息,我能给您的最好建议是重写代码并添加调试行来检查出了什么问题:
int x1 = *(previousCalcp->getX());
int y1 = *(previousCalcp->getY())
int x2 = *(currentCalcp->getX());
int y2 = *(currentCalcp->getY());
int dx = x1 - x2;
int dy = y1 - y2;
hypPrevious = dx*dx + dy*dy;
std::cout << "(" << x1 << "," << y1 << ") and (" << x2 << "," << y2 << ") resulted in " << hypPrevious << std::endl;
不要忘记将类型int
更改为代码中使用的任何类型。
相关文章:
- 为什么我的变量没有更新,我的 LED 没有亮起?
- 为什么我的变量存在于其范围之外
- 为什么我的字符串变量没有打印完整的字符串?
- 为什么我的 c++ 程序检查不是初始化的变量?
- 为什么我的全局变量似乎没有变化?
- C ++程序如何返回我的数组或写入全局变量
- 为什么我的数组值与此处的全局变量不匹配?
- 为什么弹出我的堆栈会返回垃圾而不是初始变量?
- 我的包装函数缺少变量?
- 在我的变量打印C++后无法获得 $ 打印符号
- 我的 c++ 程序似乎没有发现字符串和我拥有但输入使用 getline 的变量之间的比较
- 为什么我的双变量通过添加 c++ 显示 nan?
- 我应该使我的局部变量常量还是可移动的
- constexpr 函数在编译时获取值,即使我的变量不是 constexpr
- 我可以在我的类中使用 omnetpp.ini 变量吗?
- 我的类中应该有一个Allocator作为成员变量吗
- 我可以在初始化之前使用 std::array 成员变量中的 data() 指针吗?发出警告
- 为什么我的 std::atomic<int> 变量不是线程安全的?
- 为什么访问我的引用捕获变量会导致我的 lambda 函数出现段错误?
- 为什么我的程序没有更改结构变量中的值?