c++ - atan2 与 CGPoint 迭代器

标签 c++ vector iterator atan2

vector<CGPoint>::iterator i;
vector<CGPoint>* bp = bicyclePad.bikePathPoints;
for(i = bp->begin(); i != bp->end()-3; i++){
    angle = atan2((*i).y/(*i).x) * 180/ PI;
}

我猜 atan2 只能与 float 和 double 一起使用。但我正在尝试使用迭代器来完成它。我将如何去做上述事情?

最佳答案

atan2 接受两个参数:

angle = std::atan2(i->y, i->x) * 180 / PI;

应该可以正常工作。将选择正确的重载(取决于 CGFloat 类型定义)。

请注意 i->xi->y(它们严格等同于 (*i​​).x(*i).y) 是数字(CGFloat 类型),不是迭代器。

关于c++ - atan2 与 CGPoint 迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8761120/

相关文章:

结构编译器错误 vector 的 C++ 迭代器

r - 子集数据框行作为列表返回?

scala - 在 Scala 中比较树

c++ - 关于迭代器begin()函数的问题

c++ - 根据运行时决策组合不同的迭代器

c++ - WIC中调用CreateBitmapFromHIcon时指定HICON索引

c++ - 如何比较 utf8 字符串,例如 C++ 中的波斯语单词?

c++ - 带有 std::thread 的 MVSE12 中的错误 C2248

c++ - 使用两个函数创建将用随机数填充矩阵的二维整数数组。我做错了什么?

c++ - 源引擎-移动代码 : What is "wishspeed"?