हम LCD.c में इस घोषणा है:हेडर में बाहरी 2 डी-सरणी कैसे घोषित करें?
unsigned char LCD[8][64] = {((unsigned char) 0)};
और LCD.h में हम जैसे कुछ करना चाहते हैं:
extern unsigned char LCD[][];
हम इस त्रुटि मिलती है:
Error[Pe098]: an array may not have elements of this type
'एलसीडीएच' में 'एलसीडीएच' 'एलसीडीएच' में तनाव डालने के लिए उपयोगी हो सकता है (इसलिए 'MINOR' मैक्रो को हेडर फ़ाइल में केवल एक बार परिभाषित किया जाता है) ताकि 'एलसीडी' के बीच विरोधाभासी प्रकारों की संभावना को बाहर करने के लिए घोषणा और वास्तविक परिभाषा (जिसे संकलन त्रुटि के रूप में नहीं मिला है जब वे अलग-अलग फाइलों और लिंकर त्रुटि में हैं)। –
मैंने सोचा कि जब भी किसी प्रोजेक्ट में XYZ.h और XYZ.c दोनों होते हैं, तो यह एक सार्वभौमिक नियम और सुरक्षित शर्त है कि XYZ.c XYZ.h सहित होगा, नहीं? –
हां, आप सही हैं, लेकिन इसकी पुष्टि करने के लिए हमेशा बेहतर (उदाहरण के लिए कुछ नौसिखिया प्रोग्रामर, जो एसओ पढ़ रहे हैं)। –