这不是给我一个错误,而是我想摆脱的几个警告。
OSErr err = AudioUnitInitialize(toneUnit);
NSAssert1(err == noErr, @"Error initializing unit: %ld", err);
我得到的警告是:Format specifies type 'long' but the argument has type 'OSErr' (aka 'short')
. 显然我可以通过使用long
来改变它,OSErr
但我想知道为什么我会收到错误。这是一个upcast,所以我认为它不应该引起任何问题。
谁能解释一下?