在C,VS2013中使用Complex进行算术运算

时间:2015-05-28 08:13:09

标签: c visual-studio-2013 complex-numbers

C代码片段

#include <math.h>
#include <complex.h>

int puwg92_do_wgs84(double Xpuwg, double Ypuwg) 
{
    double m0 =  0.9993;
    double x0 = -5300000.0;
    double y0 =  500000.0;
    double Snorm   = 2.0E-6;
    double xo_prim = 5765181.11148097;

    double b0=5760000;
    double b1=500199.26224125;
    double b2=63.88777449;
    double b3=-0.82039170;
    double b4=-0.13125817;
    double b5=0.00101782;
    double b6=0.00010778;

    double Xgk, Ygk;
    Xgk=(Xpuwg-x0)/m0;
    Ygk=(Ypuwg-y0)/m0;

    _Dcomplex  Zmerc;
    _Dcomplex  Z;   
    Z._Val[0] = (Xgk - xo_prim)*Snorm;
    Z._Val[1] = Ygk*Snorm;

    Zmerc = b0+Z*(b1+Z*(b2+Z*(b3+Z*(b4+Z*(b5+Z*b6)))));

    ...
}

在最后一行“Zmerc = b0 + Z *(......”:

error C2088:'*' : illegal for the struct
expression must have arithmetic type

我错了什么? 默认情况下,C99支持无法启用?

0 个答案:

没有答案