2014-01-17 1 views
0

FMOD를 배우셔야합니다. 학교 프로젝트 용입니다. 코드에서 FMOD :: 시스템 * 시스템; 그것은 무엇을합니까?

은 (문서에서 복사) :

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 (& 시스템);)?

나는 FMOD :: System * system 라인을 생각한다. 포인터를 만들고 다른 줄은 시스템을 만들고 오류를 확인합니다. 포인터에 대한 필요성을 느끼지 못합니다.

은 누군가가 설명해 수 감사합니다 - 당신이

+0

SDK에 포함 된 설명서가 있어야합니다. – chris

+0

@Nabla, 많은 C 라이브러리가'SomeStruct s; Create (&s);'거기에 코드에 포인터가 필요 없다. 분명히이 함수는 두 번 포인터를 가져오고, 나는 그것 때문에 추상적 인 클래스라고 생각한다. – chris

답변

0

당신은 첫 번째 유형 FMOD::System*의 포인터를 선언하고 함수 FMOD::System_Create시스템 객체와 포인터를 채 웁니다. 따라서 아무 것도 실패하지 않으면 세 번째 줄 뒤에 systemFMOD::System 유형의 유효한 개체를 가리키고 system->init 몇 줄 아래에 전화 할 수 있습니다.

불행히도 FMOD에 대한 문서는 공개되어 있지 않으므로 더 이상 설명 할 수 없습니다. 그러나 액세스 권한을 부여받은 경우 필요한 모든 정보를 찾아야합니다.