2011-08-17 9 views
41

यह चेतावनी कुछ तीसरे पक्ष के पुस्तकालयों में एक गुच्छा पॉप अप कर रही है।एक्सकोड चेतावनी को कैसे संभालें "फ़ंक्शन के लिए कोई पिछला प्रोटोटाइप नहीं ..."?

क्या कोड को संशोधित किए बिना इसे संभालने का कोई तरीका है (उदा। चेतावनी को अनदेखा करें)?

अगर मुझे इसे ठीक करने के लिए कोड को संशोधित करना है तो मैं इसे कैसे कर सकता हूं?

यहाँ कि एक चेतावनी पैदा कोड ब्लॉक में से एक है:

BOOL FBIsDeviceIPad() { 
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    return YES; 
    } 
#endif 
    return NO; 
} 

उत्तर

79
इस तरह चेतावनी के साथ

आमतौर पर आप सिर्फ एक समारोह प्रोटोटाइप अपनी फ़ाइल के शीर्ष पर परिभाषित कर सकते हैं, उदाहरण के लिए पैरामीटर की मनमानी संख्या है। इसके बजाय परिभाषा (void) बन कोई मानकों को निरूपित करने के करना चाहिए:

BOOL FBIsDeviceIPad(void); 

... 

BOOL FBIsDeviceIPad(void) { 
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    return YES; 
    } 
#endif 
    return NO; 
} 
+0

मैं इस चेतावनी के साथ बहुत नाराज हूं, और सी विधियों की परिभाषा में "शून्य" कीवर्ड सभी को समझाता है। –

+0

मैं भी नाराज हूं: बिना किसी चेतावनी के मेरे प्रोजेक्ट को काम करने के लिए, मुझे कुछ ऐसा कोड बदलना पड़ा जो मेरा नहीं था: glew.c. मुझे पता है कि मैं इससे पुस्तकालय बना सकता हूं और इसे परियोजना से जोड़ सकता हूं, लेकिन glew.c. को जोड़ना आसान है। सहायता के लिए धन्यवाद! – scippie

+0

उन सभी के लिए जो अभी भी इस समस्या से नाराज हैं, अपने फेसबुक एसडीके अपडेट करें। नए संस्करण में अब यह समस्या नहीं है। – Raptor

29

Xcode4 में, अपनी परियोजना के सेटिंग बिल्ड में जाते हैं। "प्रोटोटाइप" के लिए खोजें। "लापता फ़ंक्शन प्रोटोटाइप" नामक एक विकल्प होना चाहिए; इसे अक्षम करें आप इसे प्रश्न में विशिष्ट लक्ष्य (ओं) में भी कर सकते हैं। सी में एक विधि ब्रेसिज़ के बीच कुछ भी नहीं के साथ

BOOL FBIsDeviceIPad(); 

लेकिन, यानी () वास्तव में अर्थ है:

+0

हालांकि यह तकनीकी रूप से सही है, लेकिन मैं @ mattmook की सलाह के बाद सुझाव देना चाहूंगा क्योंकि यह() और (शून्य) के बीच अंतर को इंगित करता है। – erator

+0

हालांकि यह विधि मौजूदा कोड में बहुत से सुधारों को अस्वीकार कर देगी जो "तकनीकी रूप से" सही है। –

1

कोई चेतावनी अगर इस तरह के एक समारोह इनलाइन के रूप में परिभाषित किया गया है कर रहे हैं।

यह तब तक पर्याप्त हो सकता है जब तक आपका कार्य इनलाइन उपयोग के लिए अनुकूलित किया गया हो। http://msdn.microsoft.com/en-us/library/1w2887zk.aspx

संबंधित मुद्दे