c - struct definition in header file: type defaults to 'int' -


मेरे पास एक संरचना घोषणा और परिभाषा हैडर फ़ाइल header.h जैसा:

<पूर्व> #include & lt; linux / slab.h & gt; नमस्ते {int a; चार ब; }; नमस्ते * नमस्ते;

में file1.c मैंने किया है:

  # include & lt; header.h & gt; नमस्ते नमस्ते; हैलो = किमीलोक (आकारओफ़ (स्ट्रिप हैलो), __GFP_REPEAT); kfree (नमस्ते); // बस बाद में जांचने के लिए अगर 'हैलो' - हैलो = नल; // - आरंभ किया गया है या नहीं  

में file2.c मैंने किया है:

  # include & lt; header.h & gt;  

संरचना चर हैलो का उपयोग file1.c और file2.c

में किया जाता है। >

लेकिन संकलन करते समय मुझे एक त्रुटि मिलती है:

  file1.c: 3: 1 त्रुटि: 'हैल्लो' की घोषणा में 'इंट' के प्रकार का डिफ़ॉल्ट प्रकार [-errorerror = implicit-int ] File1.c: 4: 1 त्रुटि: 'हैलो' के लिए परस्पर विरोधी प्रकार file1.c: 3: 16 नोट: 'हैलो' की पिछली घोषणा यहां है बाहरी नमस्ते * हैलो;  

मैंने हेडर फाइल में चर परिभाषा का कभी इस्तेमाल नहीं किया है ऑनलाइन खोज की है और इसे कुछ स्रोतों से मिला है क्या गलत है यह खोजने में असमर्थ

उचित कोड शामिल करने के लिए संपादित करें।

यह है:

  हैलो = किमीलोक (आकारओफ़ (स्ट्रिप हैलो), __GFP_REPEAT);  

वास्तव में फाइल स्तरीय गुंजाइश की तरह? आपके पास सी में फ़ंक्शन के बाहर ऐसा कोड नहीं हो सकता है, लेकिन मुझे एक अलग त्रुटि संदेश की अपेक्षा होगी।


Comments