前向声明
一般这个问题,就是头文件没有被包含。
如果一个enum的声明是如下的:
enum {
kWhatFillThisBuffer = 'fill',
kWhatDrainThisBuffer = 'drai',
kWhatEOS = 'eos ',
kWhatShutdownCompleted = 'scom',
kWhatFlushCompleted = 'fcom',
kWhatOutputFormatChanged = 'outC',
kWhatError = 'erro',
kWhatComponentAllocated = 'cAll',
kWhatComponentConfigured = 'cCon',
kWhatBuffersAllocated = 'allc',
};
那么在利用kWhatDrainThisBuffer的值的时候,必定是个对应的int 32的值,其中的4个字节的值,便是drai这4个字符的ascaii码在内存的值拼接起来组成的32位字节说组成的int 32 值,这便是为了保密的目的,此时可以利用拿到这个值的地方,转化成char*,然后用%s打印出来,必定是drai,或者是iard