Могу ли я привести CFMutableDictionaryRef к CFDictionaryRef? - PullRequest
0 голосов
/ 19 марта 2020

Функция ожидает возврата CFDictionaryRef:

CFDictionaryRef xyz()
{
CFMutableDictionaryRef test = CFDictionaryCreateMutable(kCFAllocatorDefault, 1, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
CFDictionarySetValue(test, CFSTR("Test"), CFSTR("Test"));

return reinterpret_cast<CFDictionaryRef>(test);
}

Можно ли использовать reinterpret_cast для преобразования? бросает мне нулевой ptr.

1 Ответ

0 голосов
/ 19 марта 2020

Вы можете безопасно сделать следующее:

CFDictionaryRef xyz()
{
    CFMutableDictionaryRef test = CFDictionaryCreateMutable(kCFAllocatorDefault, 1, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
    CFDictionarySetValue(test, CFSTR("Test"), CFSTR("Test"));

    return (CFDictionaryRef)test;
}
...