OpenSL ES の Android 実装では、次のサンプル コードは android-ndk /samples/native-audio/jni/native-audio-jni.c にあります。
SLresult result;
result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL);
assert(SL_RESULT_SUCCESS == result);
(void)result;
は、定義により 32 ビットの符号なし整数型であるSLResult
typeであると定義されています。SLuint32
私の質問は次のとおりです。ラインは何をし(void)result;
ますか? これは何の役にも立たず、コンパイラはこれを最適化できると思いました。しかし、この例でも似たような行があちこちに出てきて、結局何か意味があるのだろうかと疑問に思っています。