Sunday 15 June 2014

c++ - error C2027 and error C2227 -


मुझे सी 2027 त्रुटि मिलती है: अपरिभाषित टाइप 'ब्रिज' का उपयोग

और

त्रुटि C2227: '-> प्राप्त' की बाईं कक्षा / स्ट्रक्चर / यूनियन / सामान्य प्रकार

लाइन पर * कनेक्शन 1-> प्राप्त (नया संदेश, 2);

 < कोड> # शामिल करें & lt; stdio.h & gt; # शामिल करें & lt; stdlib.h & gt; # शामिल करें & lt; iostream & gt; # परिभाषित MAXHOST 10 # मैडेपोर्ट 5 परिभाषित करें # मैग्नल 8 परिभाषित करें # MAXBRIDGE # 5 परिभाषित करें MAXLANBRIDGECON 2 नामस्थान std का उपयोग कर; कक्षा ब्रिज; क्लास होस्ट; क्लास संदेश; वर्ग सिमुलेशन; वर्ग लैन; क्लास संदेश {/////////////}}; कक्षा होस्ट {लैन * lan1; Int आईडी; Int nextMessageTime; जनता:     ///////// }; वर्ग लैन {ब्रिज * कनेक्शन 1, * कनेक्शन 2; इंट ब्रिज कनेक्शन; होस्ट होस्ट सूची [मैक्सहोस्ट]; Int आईडी; Int hostCount; सार्वजनिक: शून्य कनेक्ट (ब्रिज * कॉन्स्ट न्यूब्रिज) {if (bridgeConnection == 0) {connection1 = newBridge; } यदि (पुल कनेक्शन == 1) {connection2 = newBridge; } पुल कनेक्शन ++; } शून्य प्राप्त (संदेश नया संदेश) {* connection1- & gt; प्राप्त (नया संदेश, 2); }}; क्लास ब्रिज {///////////////////}}; शून्य मुख्य () {सिमुलेशन newSim; newSim.create (); वापसी; }  

पहले सभी पद सही हैं, आगे को घोषित करने के लिए परिपत्र को रोकने के लिए उपयोग किया जाता है शीर्ष लेख फ़ाइलें पुल वर्ग को आगे घोषित किया गया है, ताकि आप लैन की अपनी कक्षा परिभाषा के भीतर उस प्रकार के संकेत निर्दिष्ट कर सकें। चूंकि पॉइंटर्स के पास सभी समान आकार हैं, यह ठीक है।

जब यह इस क्लास का इस्तेमाल करने की बात आती है तो कंपाइलर को ब्रिज क्लास के बारे में और कम से कम इसका आकार जानना होगा। लेकिन इसके अलावा कोई अन्य जानकारी नहीं है कि पुल नामक एक वर्ग है।

समाधान या तो हेडर शामिल करना होगा जहां पुल परिभाषित किया गया है (यदि आप ऐसा करते हैं तो कक्षा पुल की परिभाषा को हटाएं), या ले जाने के लिए अपने खुद के कार्यान्वयन फ़ाइल में लैन :: कनेक्ट () और लैन :: प्राप्त () का कार्यान्वयन LANCpp और इसमें पुल शीर्षलेख शामिल है, जो शायद साफ समाधान है।


No comments:

Post a Comment