मैं एक सी (सी नहीं ++) struct कि एक समारोह मैं इस तरह डेटा एकत्रित में फिर इससी struct सरणियों
typedef struct mystruct{
float a,b;
int x, y;
} mystruct;
की तरह चला जाता है:
mystruct List[MAX];
ListNumber = 0;
for(i = 0; i < MAX; i++)
{
if(conditions_meet)
{
List[ListNumber].a = masterlist[i].a;
... आदि
ListNumber++;
}
}
तो मैं सरणी को एक फ़ंक्शन
पर भेजता हूंयह काम करता है, लेकिन जब मैं इस तरह यह करने के लिए ....
mystruct setter(int i)
{
mystruct TEMP;
TEMP.a = masterlist[i].a;
//......etc
return TEMP;
}
mystruct List[MAX];
ListNumber = 0;
for(i = 0; i < MAX; i++)
{
if(conditions_meet)
{
List[ListNumber] = setter(i);
ListNumber++;
}
}
यह अजीब त्रुटियों का एक बहुत का कारण बनता है की कोशिश करो। ये क्यों हो रहा है? संपादित करें: @ tommieb75 मैं ज्यादा जानकारी नहीं दे सकता, परिणाम एक पैटर्न प्रतीत नहीं होता है। सूची को स्क्रीन पर सामान खींचने के सामान्यीकृत तरीके के रूप में उपयोग किया जाता है, और प्रत्यक्ष सेटिंग के बजाय फ़ंक्शन होने से प्रतिपादन में अजीब समस्याएं होती हैं- और यादृच्छिक-, लेकिन कोई संकलक त्रुटियां उत्पन्न नहीं करती हैं। जीडीबी कुछ पूर्णांक को पूर्णांक से बड़ा होने के रूप में दिखाता है, यह एकमात्र पैटर्न है जो मुझे मिलता है। मास्टरलिस्ट एक और संरचना का वैश्विक सरणी है। डेटा को इस उदाहरण में संरचना में परिवर्तित करने की आवश्यकता है। कोई संकलक चेतावनी या त्रुटियां बिल्कुल नहीं। मैं शायद अधिक संवेदनशील चेतावनियों को बदल सकता हूं, लेकिन मुझे हमेशा किसी भी सामान्य त्रुटि की सूचना मिलती है जो मैं सोच सकता हूं। मैं चयनित समाधान का प्रयास करने जा रहा हूं, जो पर्याप्त होना चाहिए। वैसे भी इसी तरह के फ़ंक्शन लौटने वाले फ़्रेम का उपयोग मेरे कोड में किया जाता है और सभी इस मामले को पूरी तरह से structs की सरणी के साथ छोड़कर काम करते हैं।
आप त्रुटियों आप हो रही है में से कुछ पोस्ट कर सकते हैं? – GameFreak
कोई मेरी याददाश्त ताज़ा करता है: क्या आप सी में मूल्य से structs वापस कर सकते हैं? –
क्यों नहीं? पॉइंटर्स तेज होना चाहिए, लेकिन आप मूल्य से वापस आ सकते हैं। Btw। www.ideone.com और आप जांच सकते हैं ;-) – nilphilus