यहाँ मैच के लिए लगता है, भले ही संकलन पर सटीक त्रुटि संदेश है:हो रही त्रुटि C3352 (निर्दिष्ट समारोह प्रतिनिधि प्रकार से मेल नहीं खाता), समारोह प्रतिनिधि प्रकार
त्रुटि C3352: 'डबल MyNamespace :: MyRefClass :: myfunction (स्थिरांक std :: वेक्टर < _Ty> &, std :: वेक्टर < _Ty> &, शून्य *) ': निर्दिष्ट समारोह प्रतिनिधि प्रकार से मेल नहीं खाता' डबल (स्थिरांक std :: वेक्टर < _Ty> & , std :: वेक्टर < _Ty> &, शून्य *) '
MyFunction
, संदर्भ वर्ग MyRefClass
में एक निजी समारोह उद्धृत त्रुटि दिखाई देता है जब मैं निजी प्रतिनिधि MyDelegate
, एक ही संदर्भ वर्ग में घोषित की आवृत्ति बनाने का प्रयास है कोड के साथ:
MyDelegate^ del = gcnew MyDelegate(&MyRefClass::MyFunction);
जहाँ तक मैं कह सकता हूं, MyFunctionWrapper
फ़ंक्शन के हस्ताक्षर प्रतिनिधि से मेल खाते हैं, इसलिए मुझे यकीन नहीं है कि त्रुटि क्या हो रही है।
पूर्णता के लिए, (निजी) समारोह हस्ताक्षर है:
double MyFunction(const std::vector<double> &x, std::vector<double> &grad, void *data)
और (निजी) प्रतिनिधि घोषणा है:
delegate double MyDelegate(const std::vector<double> &x, std::vector<double> &grad, void *data);
आप बिल्कुल सही हैं - धन्यवाद! – Rory