में LRESULT से WNDPROC को परिवर्तित नहीं कर सकता है मैं WinApi के साथ यह Win32 प्रोग्राम लिखने की कोशिश कर रहा हूं और मैं अटक गया हूं क्योंकि मुझे जो ट्यूटोरियल है, उसे कोई समस्या है।C2440 C++ WinApi
MainWindow.h:
class MainWindow
{
public:
MainWindow(HINSTANCE);
~MainWindow(void);
LRESULT CALLBACK WndProcedure(HWND, UINT, WPARAM, LPARAM);
// [...]
MainWindow.cpp:
MainWindow::MainWindow(HINSTANCE hInstance) : hwnd(0)
{
WNDCLASSEX WndClsEx;
// [...]
WndClsEx.lpfnWndProc = &MainWindow::WndProcedure;
// [...]
}
LRESULT CALLBACK MainWindow::WndProcedure(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
// [...]
}
मैं संदर्भित किया जाना चाहिए MainWindow :: WndProcedure गलत है क्योंकि मैं हस्ताक्षर के बाद कर रहा हूँ बिल्कुल के रूप में ट्यूटोरियल का कहना है, तथापि कन्स्ट्रक्टर में lpfnWndProc लाइन एक संकलन-समय त्रुटि देता है:
त्रुटि C2440: '=': 'LRESULT (__stdcall MainWindow :: * से कनवर्ट नहीं किया जा सकता है *) (HWND, uint, wParam, lParam) wndproc '
आपको वह त्रुटि किस त्रुटि पर मिल रही है? मुझे नहीं लगता कि यह आपके द्वारा पोस्ट की गई चीज़ों में है। – Mat
रेमंड कैन्स [स्क्रैच प्रोग्राम] देखें (http://blogs.msdn.com/b/oldnewthing/archive/2005/04/22/410773.aspx) क्लास विधि में पारित विंडो संदेशों को प्राप्त करने के बेवकूफ तरीके के लिए (से विधि हस्ताक्षर में 'स्थिर' जोड़ा जाने के बाद अगले तार्किक प्रश्न का उत्तर दें)। – user786653