1
私は.mmファイルに次のコードを実行していると私はエラーを取得:無効な変換*エラー
Invalid conversion from 'const void*' to 'const __CFData*'
私は.mmでコードを実行する必要があります。私が.mに変更すると、それは不平を言うことはありません。なぜそれはこのように振る舞うのですか?私はconst void*
ためだけtypedef
あるiPhone
CFSocketNativeHandle native;
CFDataRef nativeProp = CFReadStreamCopyProperty(theReadStream, kCFStreamPropertySocketNativeHandle);
if(nativeProp == NULL)
{
if (errPtr) *errPtr = [self getStreamError];
return NO;
}
CFIndex nativePropLen = CFDataGetLength(nativeProp);
CFIndex nativeLen = (CFIndex)sizeof(native);
CFIndex len = MIN(nativePropLen, nativeLen);
CFDataGetBytes(nativeProp, CFRangeMake(0, len), (UInt8 *)&native);
CFRelease(nativeProp);
CFSocketRef theSocket = CFSocketCreateWithNative(kCFAllocatorDefault, native, 0, NULL, NULL);
if(theSocket == NULL)
{
if (errPtr) *errPtr = [self getSocketError];
return NO;
}
エラーが発生した行を指摘すると便利です。 –