gpt4 book ai didi

c++ - 如何将 excel 范围传递给需要双指针的 C++ 函数

转载 作者:太空宇宙 更新时间:2023-11-04 14:33:01 25 4
gpt4 key购买 nike

我是 vba 和 excel 编程的新手,如果这是一个愚蠢的问题,请原谅。

我有一个带有函数的c++ dll

double foo(int n_bar, double* bar);

我想使用 vba 从 excel 中调用它。我已将 vba 中的函数声明为

Declare Function foo Lib "mylib" (ByVal n_bar As Long, bar As Double) As Double

我在 vba 中有另一个包装函数,我将从电子表格中调用它

Function wrapper(a As Range) As Double

包装函数的主体必须是什么样子才能调用 c++ 函数?我最好的猜测是

Function wrapper(a As Range) As Double
Dim retval As Double
'after making sure there is only one column...
retval = foo(a.Rows.Count, a.Cells(1,1))
End Function

但这不起作用(编译并运行,但产生虚假结果)。

感谢任何帮助

最佳答案

声明 double 参数时需要使用 byref。或者甚至更好地定义您的 C 函数以接收 double 值作为值参数。

关于c++ - 如何将 excel 范围传递给需要双指针的 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589297/

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