objective-c - 在 Xcode 中收到 "Control reaches end of non-void function"错误消息

标签 objective-c xcode calculator

将此代码添加到简单的计算器程序时,我收到错误消息“控件到达非空函数的末尾”。

现在,在阅读了一些回复后,我知道我应该添加一个返回调用,这样程序就不会在没有设置累加器的情况下挂起,但我想知道把它放在哪里或者哪个是正确的表达方式。

谢谢,如有任何帮助,我们将不胜感激。如果需要,我也可以提供完整的程序代码。

-(double) changeSign
{
accumulator = -accumulator;
}

-(double) reciprocal
{
accumulator = 1/accumulator;

}

-(double) xSquared
{
accumulator = accumulator * accumulator;
}

最佳答案

非常简单,这里的每个方法都被声明为返回一个double,但实际上您从未返回任何东西。

你需要做类似的事情:

-(double) changeSign
{
accumulator = -accumulator;
return accumulator;
}

或者,如果您不打算返回 accumulator 的新值,请将返回类型更改为 void:

-(void) changeSign
{
accumulator = -accumulator;
}

附言。问题不在于程序将“在未设置累加器的情况下挂起”。你说的是“这里是一个返回 double 的方法”,但代码实际上并没有返回任何东西。错误消息的意思是“我已经完成了你 promise 会返回一些东西的函数,但你似乎忘记了”。

关于objective-c - 在 Xcode 中收到 "Control reaches end of non-void function"错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6645266/

相关文章:

xcode - 界面生成器中的 Tab 键顺序?

xcode - Xcode 测试导航器中保留已删除的测试

ios - 如何在String Swift中获得第一个元音

emacs - 如何使用默认的组织模式电子表格自动求和行为?

javascript - 使用 JavaScript 计算 2 个不同时间表的工作时间

ios - 如何整合多个框架调用到openURL :(NSURL *)url

iPhone SDK : UIScrollView does not scroll

iphone - 唯一识别设备

iOS - 如何在将单元格动态插入到 UICollectionView 之前正确地重新加载单元格

java - 每小时英里计算器