[问题] return问题

楼主: david830317 (dd810)   2016-04-28 01:42:22
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Xcode
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
在xcode时用void以外不能用reture
错误结果(Wrong Output):
Control may reach end of non-void function
程式码(Code):(请善用置底文网页, 记得排版)
http://ideone.com/T36LJH
补充说明(Supplement):
作者: Schottky (顺风相送)   2016-04-28 01:47:00
第 87 行和第 111 行漏了 return然后你的 calcValue() 在 unit<1, 10<unit<11 等状况下就会连续闯过三个 if 到达没有写 return 的地方...这也就是你贴的那行讯息所要告诉你的事。
楼主: david830317 (dd810)   2016-04-28 01:53:00
感谢大大帮忙,上课有问过老师结果老师也不知道原因..
作者: Schottky (顺风相送)   2016-04-28 02:14:00
如果我是老师,我不会说不知道,而是说我回去查查资料然后用一个没人认识的 ID 到本板问完,下周再告诉你...
作者: BlazarArc (Midnight Sun)   2016-04-28 03:36:00
楼上XD
作者: ho83leo (LWHo)   2016-04-28 13:37:00
S大真幽默
作者: MOONRAKER (㊣牛鹤鳗毛人)   2016-04-28 14:21:00
现在compiler会注意你的执行path 你老师以前应该没看过(现在的gcc会吗?)
作者: Schottky (顺风相送)   2016-04-28 14:35:00
gcc 很早就会检查了,只是你要开-Wall或-Wreturn-type我会要求 warning 全开并且把 warning msg 尽量清空因为会设这个 warning 代表可能有潜在的 bug
作者: BlazarArc (Midnight Sun)   2016-04-28 14:39:00
我都 -Wall -Werror
作者: Schottky (顺风相送)   2016-04-28 15:24:00
我也试过 -Werror ,但有时 warning 出在 3rd party 的.h 档里面... 你可以帮他修,但每次换版本都要再修一次
作者: uranusjr (←這人是超級笨蛋)   2016-04-29 15:23:00
GCC 可以用 pragma 选择性 ignore 某些警告啊, 你在include 那些档案时加一下就好了http://stackoverflow.com/a/3394268/1376863
作者: eye5002003 (下一夜)   2016-04-29 20:40:00
可以追加搭配-Wextra服用
作者: Schottky (顺风相送)   2016-04-29 20:49:00
我想起来了,后来是有用 #pragma warning disable 这招可是开启 VC 的 warning as error 人人靠北,只好作罢

Links booklink

Contact Us: admin [ a t ] ucptt.com