C++ template programming question expected `;' before ‘it’? -
मैं पॉलिसी-आधारित टेम्पलेट प्रोग्रामिंग का प्रयोग करने वाला एक छोटा सा कोड लिख रहा हूं। इस कार्यक्रम में, एक सीडीईकेयर वर्ग परिभाषित किया गया है और इसकी नीति क्लास के रूप में इसे डेकेयर पॉलिसी का उपयोग किया जाता है। हालांकि कंपाइलर ने शिकायत की कि "अपेक्षित`; ' इससे पहले 'यह' " सीडीकेयर भाग के बारे में कोई सुझाव?
#include & lt; iostream & gt; # शामिल करें & lt; vector & gt; # शामिल करें & lt; नक्शा & gt; # शामिल करें & lt; उपयोगिता & gt; Int main () {} struct cathom {}; वर्ग CStateUpdater {सार्वजनिक: आभासी शून्य UpdateState (CAtom * patom) = 0; }; संरचना सीडीकेयर पॉलिसी {typedef std :: pair & lt; अहस्ताक्षरित int, अहस्ताक्षरित int & gt; indexpair; Std :: map & lt; इंडेक्सपेयर, डबल & gt; mDecayRate; सीडीकेयर पॉलिसी () {mDecayRate.clear (); } ~ सीडीकेयर पॉलिसी () {}}; टेम्पलेट & lt; वर्ग DecayerPolicy & gt; वर्ग सीडीकेयर: सार्वजनिक डिकैयर पॉलिसी, सार्वजनिक CStateUpdater {सार्वजनिक: आभासी शून्य UpdateState (CAtom * patom) {for (std :: map & lt; DecayerPolicy :: indexpair, double & gt; :: const_iterator = decayerPolicy :: mDecayRate.begin (); ! = DecayerPolicy :: mDecayRate.end (); यह ++) {// परमाणु राज्य संशोधन कोड}}};
आपको निर्भर कोड से पहले typename
जोड़ने की आवश्यकता है, अर्थात
के लिए (typename std :: map & lt; typename decayer पॉलिसी :: इंडेक्सपेयर, डबल & gt; :: const_iterator it = decayer पॉलिसी :: mDecayRate.begin (); it! = DecayerPolicy :: mDecayRate.end (), यह ++)
Comments
Post a Comment