静态全局变量,该怎么解决

静态全局变量



//guidaojisuan.cpp

#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include<cmath>

using namespace std;

double Guidaojisuan::x0=-0.3861944;
double Guidaojisuan::y3=0.8626457;
double Guidaojisuan::z0=0.374996;
//double x0=,z0=;
double Guidaojisuan::e=0.0791158;
double Guidaojisuan::M=189.275;
double Guidaojisuan::a=2.7664122;
double Guidaojisuan::i=10.58347;
double Guidaojisuan::omega=80.48632;
double Guidaojisuan::w=73.98440;
double Guidaojisuan::epsilon=23.43903;
double Guidaojisuan::E=0;

double Guidaojisuan::change(double s)
{
 s=(s/180)*3.14;
 return s;
}

double Guidaojisuan::diedai()
{
double mu=0.00000001;
double I=0;
double F=0;

E=M;
cout<<E<< endl;
F=M+e*sin(E);
I=fabs(F-E);
while(I>mu)
{        
E=F;
F=M+e*sin(E);
I=fabs(F-E);
cout<<E<<endl;
}
return E;

}

double Guidaojisuan::guidaozuobiao()
{
//r
double f=0,r=0;
f=acos((cos(E)-e)/(1-e*cos(E)));
r=a*(1-e*cos(E));
xi=r*cos(f);
eta=r*sin(f);
zeta=0;
return xi,eta,zeta;
}

double Guidaojisuan::rixin()
{//huangdao
x=(cos(omega)*cos(w)-sin(omega)*cos(i)*sin(w))*xi+(cos(omega)*sin(w)+sin(omega)*cos(i)*cos(w))*eta+sin(omega)*sin(i)*zeta;
y=(-sin(omega)*cos(w)-cos(omega)*cos(i)*sin(w))*xi+(-sin(omega)*sin(w)+cos(omega)*cos(i)*cos(w))*eta+cos(omega)*sin(i)*zeta;
z=sin(i)*sin(w)*xi-sin(i)*cos(w)*eta+cos(i)*zeta;
//chidaozhijiao

x1=x;
y1=y*cos(epsilon)-z*sin(epsilon);
z1=y*sin(epsilon)+z*cos(epsilon);
return x1,y1,z1;
}

void Guidaojisuan::chijing()
{//地心赤道
double rho=0,alpha=0,delta=0;
x2=x1+x0;
y2=y1+y3;
z2=z1+z0;
rho=sqrt(x2*x2+y2*y2+z2*z2);
    alpha=acos(z2/rho);
delta=atan(y2/x2);
cout<<"2002年7月15日0时(TT)谷神星的赤经是"<<alpha<<endl;
cout<<"2002年7月15日0时(TT)谷神星的赤纬是"<<delta<<endl;
}

int main()
{

Guidaojisuan t;
t.change(t.i);
t.change(t.w);
t.change(t.M);
t.change(t.epsilon);

// cout<<E<< endl;

t.diedai();
t.guidaozuobiao();
t.rixin();
t.chijing();
}

/******************/
//stdafx.h

#include "targetver.h"

#include <stdio.h>
#include <tchar.h>
#include<iostream>
using namespace std;

class Guidaojisuan
{
public:    static double x0,y3,z0;
static double e,M,a,i,omega,w;
static double xi,eta,zeta,x,y,z,x1,y1,z1,x2,y2,z2,epsilon;
    static double E;

double diedai();
double guidaozuobiao();
double rixin();
void chijing();
double change(double);

错误 1 error LNK2001: 无法解析的外部符号 "public: static double Guidaojisuan::zeta" (?zeta@Guidaojisuan@@2NA) F:\c++\guidao\guidao\guidao.obj
这里应该怎么样使用static,主要问题是static的使用,轨道根数原理问题各位大大忽略哈,谢谢各位大大

------解决方案--------------------
是不是光声明没定义 ? 
------解决方案--------------------
zeta这个静态变量在cpp中有定义吗,你再检查一下看!