[英]Functions in objective-c IOS
我有一个方程:
CGPoint point1 = CGPointMake(20, 100);
CGPoint point2 = CGPointMake(300, 100);
CGPoint controlPoint1 = CGPointMake(50, 250);
CGPoint controlPoint2 = CGPointMake(100, 250);
B(t) = (1-t)^3 * point1 + 3 * (1-t)^2 * t controlPoint1 + 3 * (1-t) * t^2 * controlPoint2 + t^3 * point2;
我正在尝试使用NStimer运行它以获取B(t)的不同值。 我将“ t”设置为整数(.h文件中的int t)。 问题是我得到了错误:
“函数B的隐式声明在C99中无效”
如果我做:
int h = (1-t)^3 * point1 + 3 * (1-t)^2 * t controlPoint1 + 3 * (1-t) * t^2 * controlPoint2 + t^3 * point2;
我得到:
“对二进制表达式无效的运算符(int和CGPoint)”。
和指向乘法符号(*)的指针
第一个错误是因为B(t)在编译器中看起来像一个函数,而不是数学意义上的函数。 像完成操作那样将值存储在变量中将起作用,或者您可以编写一个接受t并返回当前值的函数。
第二个错误是因为你由struct(CGPoint)乘以一个标量值(INT),则需要通过点的值中的一个(CGPoint由一个x和y值的)被乘,例如改变point1
到point1.x
(免责声明,我不知道此功能,因此您必须确定应该使用哪个功能)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.