Objective-C - 二进制表达式('double')到('double *')的操作数无效

时间:2015-03-06 00:42:33

标签: ios objective-c time

我正在学习iOS游戏开发的教程。在视频中他没有错误,如果有方法丢失或者我做错了,那就是idk。我是大学的CS专业,并在Obj-C&我目前在iOS7 app开发类。我遇到了这个错误...

二进制表达式的操作数无效(' CFTimeInterval'(又名' double')和' NSTimeInterval *'(又名' double *& #39))

/* NSTimeInterval *_dt;
   NSTimeInterval *_lastUpdateTime;
*/

//The above shows what _dt and _lastUpdateTime are

-(void)update:(CFTimeInterval)currentTime
{
    /* Called before each frame is rendered */

    if(_lastUpdateTime)
    {
        _dt = currentTime - _lastUpdateTime; //Line of Error From Title
    }

    else
    {
        _dt = 0;
    }

    _lastUpdateTime = &currentTime;
    [self movePipes];
}

1 个答案:

答案 0 :(得分:4)

更改这些行:

NSTimeInterval *_dt;
NSTimeInterval *_lastUpdateTime;

为:

NSTimeInterval _dt;
NSTimeInterval _lastUpdateTime;

然后删除以下行中的&

_lastUpdateTime = &currentTime;

NSTimeInterval是基本类型,而不是类类型。你不想要指针。