2011-03-24 11 views
14

जब साथ मेरे prgram संकलित करने के लिए कोशिश कर रहा है:सी चेतावनी: कोई प्रभाव के साथ वक्तव्य

: कोई प्रभाव नहीं

इस लाइन का जिक्र करते हुए के साथ बयान: चेतावनी:

gcc -pedantic -Wall -ansi 

मैं चेतावनी मिलती है

for(currentDirection; currentDirection <= endDirection; currentDirection++) 

क्या कोई इस से मेरी सहायता कर सकता है?

उत्तर

29

currentDirection; कुछ भी नहीं करता है।

for(; currentDirection <= endDirection; currentDirection++) 

साथ अपनी लाइन को बदलें या, मामले में आप सिर्फ चर प्रारंभ करने में भूल गया:

for(currentDirection = 0; currentDirection <= endDirection; currentDirection++) 
+3

या शायद यह मतलब है 'currentDirection = 1' समाप्ति कसौटी दिया –

9
for(currentDirection; currentDirection <= endDirection; currentDirection++) 
// ^^^^^^^^^^^^^^^ Its saying about the above statement. 

पहले बयान एक काम है, जो इस में नहीं हो रहा है होना चाहिए मामला और चेतावनी का कारण है। सुनिश्चित करें कि currentDirection मान्य मान के लिए असाइन किया गया है या इसमें कचरा हो सकता है और बाद में समस्याएं पैदा हो सकती हैं।

यह जब कहा के समान है -

int i = 10 ; 
i ; // This statement is valid but has no effect. 
1

मेरे अनुभव में इस मुद्दे को आता है आप

int x = 0; 
for(x = 0;x < num; x++){} 

की तर्ज पर somthing कर आप अपने पाश की घोषणा कर रहे हैं और आप पहले से ही प्रारंभ जब आपका चर, एक्स आपको इसे दूसरी बार घोषित करने की आवश्यकता नहीं है। तो या तो कार्य करें:

int x = 0; 
for(; x < num; x++){} 

या

int x; 
for(x = 0; x < num; x++){} 
संबंधित मुद्दे