c++ - unable to pass Template function as a callback parameter -


कृपया नीचे दिए गए कोड का संदर्भ लें:

  typedef शून्य (* टाइमर कॉलबैक) (int RequestID_in, शून्य * अतिरिक्त Parameter_in); वर्ग MyTimer {सार्वजनिक: MyTimer () {} bool अनुसूची (int इंटरवल_इन, टाइमरकॉलबैक टाइमरकॉलबैक_इन, शून्य * अतिरिक्त Parameter_in) {// कुछ लॉजिक रिटर्न सच; }}; नामस्थान {टेम्पलेट & lt; कक्षा T & gt; शून्य myTimerFunc (Int RequestID_in, शून्य * अतिरिक्त Parameter_in) {MyLogic & lt; T & gt; * plogic = static_cast & lt; MyLogic & lt; T & gt; * & gt; (अतिरिक्त Parameter_in); If (plogic) {// कुछ करना}}} टेम्पलेट & lt; class T & gt; क्लास मायलोगिक {सार्वजनिक: मायलोगिक () {} शून्य परीक्षण मे () {मायटिमर एटिमर; ATimer.schedule (10, myTimerFunc & lt; T & gt ;, यह); }}; Int main () {मायोलॉजिक & lt; int & gt; myLogic; myLogic.testMe (); }  

मैं VC6 कंपाइलर का उपयोग कर रहा हूं और कम्पाइलर निम्नलिखित त्रुटि फेंकता है:

त्रुटि C2664: 'अनुसूची': 'शून्य' से पैरामीटर 2 कन्वर्ट नहीं किया जा सकता , शून्य *) 'शून्य' (__cdecl *) (int, शून्य *) '' इस नाम के साथ कार्य में कोई भी कार्य लक्ष्य प्रकार ई: \ test \ BTest \ BTest.cpp (46) से मेल खाती है: टेम्पलेट सदस्य फ़ंक्शन 'शून्य __thiscall MyLogic :: testMe (शून्य)'

मैंने इस कोड को विजुअल स्टूडियो 2008 में परीक्षण किया और यह बिना किसी समस्या के ठीक काम करता है।

मुझे पता है वीसी 6 एक पुरानी संकलक है लेकिन मेरा प्रोजेक्ट सोर्स कोड (लीगेसी) अभी भी वीसी 6 के साथ संकलित है।

इसलिए, संभव है कि इस कोड को संकलित करने के लिए संभव है?

< विज़ुअल स्टूडियो का सभी संस्करण मैं फ़ंक्शन पॉइंटर्स में टेम्प्लेट फ़ंक्शंस को हल करने / बदलने / संकलन करने के लिए मिला है। मैं जिस वैकल्पिक हल का उपयोग करता हूं, वह एक id () फ़ंक्शन का उपयोग करना है जो अपनी तर्क को अपरिवर्तित :

  टेम्पलेट & lt; class T & gt; टी आईडी (टी टी) {वापसी टी; } टेम्पलेट & lt; वर्ग T & gt; क्लास मायलोगिक {सार्वजनिक: मायलोगिक () {} शून्य परीक्षण मे () {मायटिमर एटिमर; ATimer.schedule (10, आईडी (myTimerFunc & lt; T & gt;), यह); // ------------------ ^^ ()}};  

यह दृश्य स्टूडियो 6 के तहत संकलित है। कृपया ध्यान दें, कि मेरा टायमरफंक का प्रकार यहां नहीं बदलता, यह केवल संकलक को चीजों को हल करने में मदद करता है


Comments

Popular posts from this blog

Eclipse CDT variable colors in editor -

AJAX doesn't send POST query -

wpf - Custom Message Box Advice -