gpt4 book ai didi

c++ - 在子函数中分配 CFString

转载 作者:行者123 更新时间:2023-11-30 01:29:32 25 4
gpt4 key购买 nike

我想在子函数中为 CFString 分配空间。像这样:

void fun(CFStringRef *ref)
{
ref = CFStringCreateWithCString(NULL, "hi", kCFStringEncodingUTF8);
}

int main(void)
{
CFStringRef ref;
fun(&ref);

CFShow(ref);

if(ref) CFRelease(ref);
return 0;
}

它确实编译时带有警告并且不打印“hi”。这里有什么问题吗?

编辑:添加了 CFRelease()

最佳答案

CFStringCreateWithCString() 返回一个 CFStringRef,而不是一个 CFStringRef *。您必须取消引用分配中的指针:

*ref = CFStringCreateWithCString(NULL, "hi", kCFStringEncodingUTF8);

编辑:对于你的下一个问题,请不要只说“编译时有警告”。告诉我们实际的警告信息。它使回答您的问题变得容易得多。

关于c++ - 在子函数中分配 CFString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5780068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com