gpt4 book ai didi

c# - 如何在 c# 中使用指向指针的指针?

转载 作者:行者123 更新时间:2023-12-04 23:05:02 24 4
gpt4 key购买 nike

我在 Visual Studio 2012 中使用 C# 来调用包含在我的项目所需的一组外部库中的函数。该函数需要传入一个双指针,但我不确定确切的语法。单指针对我很有用。我正在使用不安全的关键字。

AVFormatContext _file = new AVFormatContext();

fixed (AVFormatContext* p_file = &_file)
{
avformat_alloc_output_context2(&p_file,null,null,filename);
}

VS 提示“&p_file”语法错误“无法获取只读局部变量的地址”。

任何帮助将非常感激!

最佳答案

不能取p_file的地址因为p_file在固定 block 内是只读的。如果您可以获取其地址,那么这将是可能的:

fixed (AVFormatContext* p_file = &_file)
{
AVFormatContext** ppf = &p_file;
*ppf = null; // Just changed the contents of a read-only variable!

因此,您必须获取可以更改的地址:
fixed (AVFormatContext* p_file = &_file)
{
AVFormatContext* pf = p_file;
AVFormatContext** ppf = &pf;

现在我们都很好;变化 *ppf不变 p_file .

关于c# - 如何在 c# 中使用指向指针的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17279034/

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