היי חברה, גועל נפש....
היי. לאחרונה התחלתי לעבוד על תוכנה גרפית ב-OpenGL (סליחה שמשלבת את זה) והיא מבוססת Console. או קיי. אז הבנתי שאני אצטרך להיעזר ב-Threadים בכל זה (שזה חלק מגעיל בפני עצמו אבל לא כאן הבעייה). כל המימוש שלי הוא סביב ++C ומחלקות, כך שיש לי מחלקות לציור פרימיטיביים ו-Meshים וכו'. גם מימשתי את כל הרעיון של יצירת חלון מימשתי ב-++C (כלומר יש מחלקה שכל תפקידה הוא לאתחל חלון חדש, ולאתחל אותו לעבודה ב-OpenGL עם כל השטיקים הנחוצים). עכשיו. כמובן שצריך להגדיר פונקציית CALLBACK שתממש את האירועים שמתרחשים לחלון. בניתי אותה כך שהיא מוגדרת כפרטית במחלקת החלון. מימשתי אותה ואני בונה את החלון בפונקציה אחרת שהיא לא הבנאי. כשאני מציב את הפונקציה לתוך השדה במבנה הדרוש הקומפיילר בקימפול אומר לי שאי אפשר להמיר את הפונקציה ל-WNDPROC. יש לכם מושג למה? צירפתי את הקוד לדוגמא.
היי. לאחרונה התחלתי לעבוד על תוכנה גרפית ב-OpenGL (סליחה שמשלבת את זה) והיא מבוססת Console. או קיי. אז הבנתי שאני אצטרך להיעזר ב-Threadים בכל זה (שזה חלק מגעיל בפני עצמו אבל לא כאן הבעייה). כל המימוש שלי הוא סביב ++C ומחלקות, כך שיש לי מחלקות לציור פרימיטיביים ו-Meshים וכו'. גם מימשתי את כל הרעיון של יצירת חלון מימשתי ב-++C (כלומר יש מחלקה שכל תפקידה הוא לאתחל חלון חדש, ולאתחל אותו לעבודה ב-OpenGL עם כל השטיקים הנחוצים). עכשיו. כמובן שצריך להגדיר פונקציית CALLBACK שתממש את האירועים שמתרחשים לחלון. בניתי אותה כך שהיא מוגדרת כפרטית במחלקת החלון. מימשתי אותה ואני בונה את החלון בפונקציה אחרת שהיא לא הבנאי. כשאני מציב את הפונקציה לתוך השדה במבנה הדרוש הקומפיילר בקימפול אומר לי שאי אפשר להמיר את הפונקציה ל-WNDPROC. יש לכם מושג למה? צירפתי את הקוד לדוגמא.