看板 C_and_CPP 關於我們 聯絡資訊
OpenGL本身是C的函數庫 看你程式的用法 應該是想要讀檔案資料 然後其他函數裡面可以使用這個array 所以最快的解法就是使用全域變數 如果覺得全域變數很亂的話 可以準備一個全域物件 幫這個類別寫好函數、準備需要使用到的變數空間 然後glut的callback函數先呼叫到global函數 global函數再轉向呼叫這個物件的成員函數 你要的array就只是這個全域物件的成員變數 成員函數都可以看見 第三個作法是利用callback函數可以註冊static函數 所以也可以寫一個類別 然後裡面的所有物件和函數都是static的 glut的函數指標就直接登記到該物件的static函數上 我個人比較推薦第二個作法 因為寫久之後可以把這全域物件訂出一個抽象類別 就像是樣板一樣 把常用的事件處理改成虛擬函數 寫一個新程式就是去實作一個抽象類別 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.210.62
coal511464:第二個作法好像很酷....能否列下結構呢?? 謝謝 10/31 10:44
coal511464:現在就是有ㄧ個全域變數的陣列卡在那邊 10/31 10:44
coal511464:你的意思是 includeㄧ個.h檔之類的? 10/31 10:48
iamstudent:是的 10/31 10:58