gpt4 book ai didi

c++ - 将代码从 C++ 转换为 Delphi

转载 作者:行者123 更新时间:2023-11-30 02:12:42 25 4
gpt4 key购买 nike

我有下一个 C++ 代码:

for (long i=0; i < num_iter ; i++)
{
bp->bpgt(data[i%8], &data[i%8][3]);

if( bp->mse(&data[i%8][3]) < thresh)
break;
}

其中bpgt是过程,mse是函数,thresh是Double类型,data是Double类型的二维矩阵。

void bpgt(double *in,double *tgt);
double mse(double *tgt);
double data[][4]={
0,0,0,0,
0,0,1,1,
1,1,1,1 };

我试图将它传递给 Delphi 代码:

for i := 0 to FNum_Iter - 1 do begin
FBPN.bpgt(FData[i mod 8], ^FData[i mod 8,3]);

if FBPN.mse(@FData[i mod 8, 3]) < FThresh then
Break;
end;

但我失败了,因为我是 C++ 的新手,我不知道如何翻译“&”运算符。有人可以帮助我吗?

提前致谢。

最佳答案

我会翻译

void bpgt(double *in,double *tgt);

作为

procedure bpgt(var in:double; var tgt: double)

好吧,类似的东西,我的 Delphi 有点生疏....

这样,在 bpgt 中,您可以更改 tgt(和 in)的值。

你对 bpgt 的调用将是

FBPN.bpgt(FData[i mod 8], FData[i mod 8,3]);

事实上,Delphi 的 var(通过引用调用)经常用作 C/C++ 传递指针的功能等价物。

关于c++ - 将代码从 C++ 转换为 Delphi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501263/

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