2014-01-17 34 views
0

要學習FMOD對於學校項目。FMOD :: System *系統;它有什麼作用?

在代碼(從文檔複製):

FMOD_RESULT result; 
FMOD::System *system; 
result = FMOD::System_Create(&system);  // Create the main system object. 
if (result != FMOD_OK) 
{ 
    printf("FMOD error! (%d) %s\n", result, FMOD_ErrorString(result)); 
    exit(-1); 
} 
result = system->init(100, FMOD_INIT_NORMAL, 0); // Initialize FMOD. 
if (result != FMOD_OK) 
{ 
    printf("FMOD error! (%d) %s\n", result, FMOD_ErrorString(result)); 
    exit(-1); 
} 

什麼是第二行辦(FMOD ::系統*系統;)? 下一行做了什麼(result = FMOD :: System_Create(& system);)?

我覺得線FMOD :: System *系統;創建一個指針,另一行創建系統並檢查錯誤。我只是沒有得到指針的需要。

可能有人請解釋 感謝信

+0

您應該有SDK附帶的文檔。 – chris

+0

@Nabla,大量的C庫可以很好地處理'SomeStructs;創建(&s);'''''''''''''''''''''''''''''''''''''顯然,這個函數需要一個雙指針,我猜這是一個抽象類或者其他東西。 – chris

回答

0

你首先聲明FMOD::System*類型的指針,然後函數FMOD::System_Create將填充與系統對象指針。因此,如果沒有任何失敗,第三行system將指向FMOD::System類型的有效對象,以便您可以撥打system->init以下幾行。

不幸的是,FMOD的文檔不公開,所以我不能告訴更多。但是,如果你有權訪問它,你應該在那裏找到你需要的所有信息。

相關問題