我試圖按照OReilly的「Cocoa and Objective C:Up and Running」(一種很棒的閱讀方式),但我一直在用這些令人討厭的警告進行竊聽。C:返回類型默認爲Int
例如:此代碼段(p.56-57)...
#include <stdio.h>
#include <stdlib.h>
main() {
int total = 81;
float ratio = 1.618;
char* result;
asprintf (&result, "total: %i, ratio: %1.3f", total, ratio);
printf ("%s \n", result);
free (result);
}
拋出我這...
/Users/justianmeyer/Desktop/test.c:5: warning: return type defaults to ‘int’
/Users/justianmeyer/Desktop/test.c: In function ‘main’:
/Users/justianmeyer/Desktop/test.c:18: warning: control reaches end of non-void function
total: 81, ratio: 1.618
我一直在編程了一段時間,但截至昨天,我對C/Objective C完全陌生。我一直在閱讀未聲明的方法預計會接受/返回一個默認的int,但不是main()
方法應該自動聲明?爲什麼它需要默認爲int?此外,main()
應該返回一個int?那有什麼用處?收到的退貨價格在哪裏?
另外:有沒有什麼辦法可以在XCode 4.2中創建「.c」文件,而無需將其包含在項目中?現在我正在使用TextMate作爲示例,但我希望在本書的過程中儘可能熟悉XCode。
它告訴你,你的主要方法的定義是錯誤的。它*應該*返回'int',所以你必須聲明它'int main()'(你也應該返回一些東西,比如'return 0;') – 2011-12-26 04:36:47
這很有道理。爲什麼這是公約?當回報不一定需要時,通常的做法是返回0嗎? – 2011-12-26 04:40:41
只是好奇,這本書省略了返回類型嗎? – 2011-12-26 04:45:57