![](/img/trans.png)
[英]cast of Objective-C pointer type 'NSString *' to C pointer type 'CFStringRef' (aka 'const struct __CFString *') requires a bridged cast
[英]How do you create a pointer to a struct and type cast it?
有人可以告诉我我要去哪里了吗? 我正在尝试创建一个指向传递给函数的结构aqData的指针,并将其类型转换为AQPlayerState的结构类型。
我遇到了错误-使用未声明的标识符“ AQPlayerState”和期望的表达式
@implementation AudioPlayer
#define kNumberBuffers 3
struct AQPlayerState {
AudioStreamBasicDescription mDataFormat;
AudioQueueRef mQueue;
AudioQueueBufferRef mBuffers[kNumberBuffers];
AudioFileID mAudioFile;
UInt32 bufferByteSize;
SInt64 mCurrentPacket;
UInt32 mNumPacketsToRead;
AudioStreamPacketDescription *mPacketDescs;
bool mIsRunning;
};
static void HandleOutputBuffer (
void *aqData,
AudioQueueRef inAQ,
AudioQueueBufferRef inBuffer
) {
struct AQPlayerState *pAqData = (AQPlayerState *) aqData;
预先感谢您的任何帮助
C中的结构通过其“全名”识别。 尝试
struct AQPlayerState *pAqData = (struct AQPlayerState *) aqData;
或者 , 甚至更好 ,完全不要投放。 C编译器知道如何从void*
转换为任何其他指向对象的指针
struct AQPlayerState *pAqData = aqData;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.