2014-01-17 36 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的文档不公开,所以我不能告诉更多。但是,如果你有权访问它,你应该在那里找到你需要的所有信息。

相关问题