संभव डुप्लिकेट:
Error: No previous prototype for function. Why am I getting this error?कोई पिछला प्रोटोटाइप नहीं है?
मैं तथापि Xcode अभी भी मुझे चेतावनी No previous prototype for the function 'printBind'
देता है एक समारोह है कि मैं हेडर फाइल में नमूने के लिए है,। मेरे पास setBind
फ़ंक्शन एक ही तरीके से प्रोटोटाइप है लेकिन मुझे अपने कार्यान्वयन में इस फ़ंक्शन के लिए चेतावनी नहीं मिली है।
CelGL.h
#ifndef Under_Siege_CelGL_h
#define Under_Siege_CelGL_h
void setBind(int input);
void printBind();
#endif
CelGL.c
#include <stdio.h>
#include "CelGL.h"
int bind;
void setBind(int bindin) { // No warning here?
bind = bindin;
}
void printBind() { // Warning here
printf("%i", bind);
}
हालांकि अब मैं त्रुटि के कारण को समझता हूं, मैं वास्तव में इस सुविधा की उपयोगिता को समझ नहीं पा रहा हूं। जब आप एक अनिश्चित पैरामीटर सूची के साथ एक फ़ंक्शन को परिभाषित करेंगे और इसे C++ के साथ वास्तव में क्या करना है? क्या यह सी ++ में एक उपयोगी सुविधा है? – sherrellbc
आप सी ++ में एक अनिश्चित तर्क सूची के साथ एक प्रोटोटाइप परिभाषित नहीं कर सकते हैं। सी ++ में, इसका मतलब है "कोई तर्क नहीं", "अनिश्चित तर्क" नहीं। यह सुविधा वास्तविकता के लिए आवश्यक रियायत के रूप में बहुत उपयोगी नहीं है। जब सी को मानकीकृत किया गया था, तो संपूर्ण विशाल कोड आधार प्रोटोटाइप के बिना लिखा गया था; वे सी में मौजूद नहीं थे। रिक्त संश्लेषण नोटेशन सभी पूर्व-मानक सी में था। अवैध होने के कारण यह नवजात सी मानक को मार डालेगा। यह अभी भी सी 99 के लिए सच था। सी 11 के लिए यह कम स्पष्ट था, लेकिन अपरिवर्तित छोड़ दिया गया था। –