需要VARIANT型转换才能进行计算?

时间:2012-02-10 18:32:34

标签: c++ vb6 variant

我正在尝试将VB6脚本转换为C ++脚本。新脚本的输出与旧脚本不同。但经过大量的测试,我开始怀疑结果是否相等。

旧的VB脚本以一个双精度数组开始,然后调用一个函数,其中数组通过引用传递。此函数的标头具有variant-type数组而不是double-type。我在输入方法之前测试了数据,到那时输入是相等的。然后,此方法使用这些数组中的数据进行一些计算,输出不再相同。如果我在输入方法后立即写出数据,我已经在旧脚本中看到了其他数据。

在我的新脚本中,我进行相同的计算,但输入方法后的输入仍然与传递给方法的输入相同。

现在我的问题是,如果我100%确定计算是正确的,那么输出可能是相等的。那么它们只是以另一种格式呈现?

提前致谢,以及我的写作技巧的借口。我的母语是荷兰语,因此......

Newscript:

double * reeel = new double[NFFT];      //Declaration           
double * imag = new double[NFFT];

FastDiscreteFourier::forwardTransForm(reeel,imag,NFFT); //Method call

void forwardTransForm(double * reeel, double * imag, int size); //Header

Oldscript:

ReDim real(NFFT - 1) As Double, imag(NFFT - 1) As Double //Declaration

FourierTransform real, imag, NFFT //Method Call

Public Sub FourierTransform(real As Variant, imag As Variant, arraysize As Long)

0 个答案:

没有答案