将 2D 数组传递给 C++ 函数

2023-12-22

我有一个函数,我想将可变大小的二维数组作为参数。

到目前为止我有这个:

void myFunction(double** myArray){
     myArray[x][y] = 5;
     etc...
}

我在代码中的其他地方声明了一个数组:

double anArray[10][10];

然而,调用myFunction(anArray)给我一个错误。

当我传入数组时,我不想复制该数组。在中进行的任何更改myFunction应该改变的状态anArray。如果我理解正确的话,我只想将指向二维数组的指针作为参数传递。该函数还需要接受不同大小的数组。例如,[10][10] and [5][5]。我怎样才能做到这一点?


将二维数组传递给函数有三种方法:

  1. 参数是一个二维数组

    int array[10][10];
    void passFunc(int a[][10])
    {
        // ...
    }
    passFunc(array);
    
  2. 参数是一个包含指针的数组

    int *array[10];
    for(int i = 0; i < 10; i++)
        array[i] = new int[10];
    void passFunc(int *a[10]) //Array containing pointers
    {
        // ...
    }
    passFunc(array);
    
  3. 参数是一个指向指针的指针

    int **array;
    array = new int *[10];
    for(int i = 0; i <10; i++)
        array[i] = new int[10];
    void passFunc(int **a)
    {
        // ...
    }
    passFunc(array);
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 2D 数组传递给 C++ 函数 的相关文章

随机推荐

  • 当无法推断 Rust 借用检查器中的生命周期时?

    在大多数情况下 Rust 编译器可以推断生命周期 如果生命周期范围是在运行时确定的 则表示必须显式标记生命周期 fn longest lt a gt x a str y a str gt a str if x len gt y len x
  • 如何让 Powershell 等到命令完成后再继续?

    我的脚本会在安装较新版本之前卸载 Windows 应用商店应用程序 我需要确保在安装之前卸载已完成 那么如何确保我已经等待了足够长的时间 Remove Appxpackage MyAppName wait here Add Appxpack
  • 如何使用 JDBC 从存储过程中获取*所有内容*

    当使用 JDBC 处理 SQL Server 存储过程时 我偶尔会遇到两种奇怪的行为 Issue 1 我在 SQL Server Management Studio SSMS 中运行一个存储过程 它返回一个结果集 然而 当我尝试 try C
  • 仅在第一次调用变量时才执行工作的 Pythonic 方式

    我的 Python 类有一些变量需要在第一次调用时进行计算 后续调用应该只返回预先计算的值 我不想浪费时间做这项工作 除非用户确实需要它们 那么有没有一种干净的 Pythonic 方式来实现这个用例呢 我最初的想法是第一次使用 proper
  • Android中如何将图像转换为字节数组

    我面临一个现实问题 我需要将图像转换为字节数组格式 以便我可以将字节数组上传到网络服务器 我已经尝试了很多但它不起作用 我还得到了字节数组的负值 我不确定在数组中获取字节值我做错了什么 下面是我的代码 请帮助我我做错了什么 Bitmap b
  • 未找到 APOC 程序

    CALL apoc export csv query match m Movie where m name Matrix return m name re sults csv 错误 Neo ClientError Procedure Pro
  • Python-camelot(安装时错误:GhostscriptNotFound)

    我正在尝试使用camelot从pdf中提取表格数据 但出现以下错误 Code tables camelot read pdf file name Error GhostscriptNotFound 请确保 Ghostscript 已安装并且
  • Azure 中的 Serilog 与 API 应用程序

    我已将 Serilog 集成到使用 Asp Net Core 2 0 开发的 WebApi 项目中 这是配置代码Program cs Log Logger new LoggerConfiguration Enrich FromLogCont
  • 将字符串转换为 C# 中的控件名称[重复]

    这个问题在这里已经有答案了 可能的重复 按名称在 C winforms 中查找控件 https stackoverflow com questions 4483912 find a control in c sharp winforms b
  • 找到两个向量之间的最佳/缩放/移位

    我有两个向量表示函数 f x 另一个向量 f ax b 即 f x 的缩放和移位版本 我想找到最好的规模和转变因素 最佳 通过最小二乘误差 最大似然等 有任何想法吗 例如 f1 0 0 450541598502498 0 083821377
  • 输入后忽略回车键的C代码

    我遇到了标准输入流中的 Enter 键或字符弄乱以下输入调用的问题 假设我有一个输入调用 所以我输入了内容 但随后将 Enter 键作为下一个输入调用的输入 我认为在c 中有cin ignore 来做到这一点 我就是找不到C版本 输入法有g
  • 如何在VBA中保存工作表

    我正在构建一个表单 当您填写该表单时 它应该生成 2 个文件作为输出 为了做到这一点 我在后台有 2 张纸 我根据用户输入的按钮将其保存 作为 csv 来填充 这是保存工作表的代码 Worksheets worksheetname Save
  • 带彩色输出的工头运行防护装置

    我可以从我的工头 procfile 中运行守卫 但输出并不像我想要的那样丰富多彩 我在输出中看到的唯一颜色来自 Foreman 我想要一个管理 rspec 黄瓜和茉莉花的保护文件 并且在这些测试运行时有漂亮的颜色输出 看起来好像工头忽略了防
  • 为什么 Magento 每个会话使用 2 个 cookie?

    出于数据安全和隐私原因 我想知道为什么 Magento 对一个前端会话使用两个 cookie 我所知道的是其中一个正在被设置Mage Core Model Cookie set 另一个在Zend Session expireSessionC
  • HTML & XHTML id 属性问题

    id 属性值可以以数字开头吗 对于 HTML 没有 http www w3 org TR html401 types html type name http www w3 org TR html401 types html type nam
  • 安卓中的人脸识别

    我需要在 Android 4 0 的应用程序中实现人脸识别登录 由于 Android Ice Cream Sandwich 中提供了人脸识别解锁功能 是否有任何开放的 SDK 或内置库来实现此功能 到目前为止 我遇到过外部 API 例如ht
  • Jenkins 管道 sh returnsstdout 不工作

    我正在尝试使用 Jenkins pipeline sh 命令的 returnStdout 功能 此处定义https jenkins io doc pipeline steps workflow durable task step code
  • JAR 文件:为什么提取然后压缩 JAR 文件会创建与原始大小不同的文件?

    我试图编辑提取的 Eclipse 插件 jar 文件中的单个字节 我注意到 在我将文件重新压缩为 jar 后 生成的文件比原始文件大 仅 1 并且该插件不起作用 Eclipse 已启动 但在选择工作区后静默关闭 回滚到原来的插件可以让它成功
  • 删除 index.php 并处理两个 Codeigniter 站点的子域(当其中一个站点位于另一个站点时)

    我有两个 Codeigniter 站点 一个位于另一个站点的子目录中 我需要一些帮助来修改我的 htaccess 文件以从两者中删除 index php 第一个站点 http subdomain domain com存储在 home sit
  • 将 2D 数组传递给 C++ 函数

    我有一个函数 我想将可变大小的二维数组作为参数 到目前为止我有这个 void myFunction double myArray myArray x y 5 etc 我在代码中的其他地方声明了一个数组 double anArray 10 1