| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 358 人关注过本帖
标题:出现编译错误请求帮忙解决
只看楼主 加入收藏
hsnr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2010-4-4
结帖率:90.32%
收藏
已结贴  问题点数:20 回复次数:3 
出现编译错误请求帮忙解决
我用C++语言编写了如下程序,编译中出现错误信息:
try error LNK2019: 无法解析的外部符号 "public: __thiscall ChebyshevPolynomial::~ChebyshevPolynomial(void)" (??1ChebyshevPolynomial@@QAE@XZ) ,该符号在函数 "public: double __thiscall ChebyshevPolynomial::ChebyshevOneDifferential(void)" (?ChebyshevOneDifferential@ChebyshevPolynomial@@QAENXZ) 中被引用
怎么解决?请高手帮忙了。
源程序为:
#include "stdafx.h"
#include<cmath>
using namespace std;

class ChebyshevPolynomial
{
private:
    int iDegree;
    int nOrder;
    double dxVariable;
public:
    ChebyshevPolynomial(int iLocal,int nLocal,double xLocal);
    double ChebyshevFunction( );
    double ChebyshevLimitedPoint( );
    double ChebyshevOneDifferential( );  
    ~ChebyshevPolynomial( );
};

ChebyshevPolynomial::ChebyshevPolynomial(int iLocal,int nLocal,double xLocal)
{
iDegree=iLocal;
nOrder=nLocal;
dxVariable=xLocal;
}

double ChebyshevPolynomial::ChebyshevFunction( )
{
    return(cos(iDegree*acos(dxVariable)));
}


double ChebyshevPolynomial::ChebyshevLimitedPoint( )
{
    double pi=3.1415926;
    return(-cos(iDegree*pi/nOrder));
}

double ChebyshevPolynomial::ChebyshevOneDifferential( )
{
    double ci,cj,xVariable,TjXi,TjX,hk_x(0);
    int j;

    if(iDegree==0||iDegree==nOrder)
        ci=2;
    else
        ci=1;

    xVariable=ChebyshevLimitedPoint( );

    for(j=0;j<=nOrder;j++)
    {
        if(j==0||j==nOrder)
            cj=2;
        else
            cj=1;


        ChebyshevPolynomial(j,nOrder,xVariable);
        TjXi=ChebyshevFunction( );

        ChebyshevPolynomial(j,nOrder,dxVariable);
        TjX=ChebyshevFunction( );

        hk_x+=TjXi*TjX/cj;
    }
    return(2*hk_x/nOrder/ci);
}


int _tmain(int argc, _TCHAR* argv[])
{
    ChebyshevPolynomial Chebyshev(1,4,0.5);

    cout<<"Chebyshev.ChebyshevFunction( )"<<Chebyshev.ChebyshevFunction( )<<endl;
    cout<<"Chebyshev.ChebyshevLimitedPoint( )"<<Chebyshev.ChebyshevLimitedPoint( )<<endl;
    cout<<"Chebyshev.ChebyshevOneDifferential( )"<<Chebyshev.ChebyshevOneDifferential( )<<endl;

    return 0;
}


搜索更多相关主题的帖子: 编译 请求 
2010-04-04 18:04
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:20 
public:
    ChebyshevPolynomial(int iLocal,int nLocal,double xLocal);
    double ChebyshevFunction( );
    double ChebyshevLimitedPoint( );
    double ChebyshevOneDifferential( );
    ~ChebyshevPolynomial( ){};  //加上就行了!

★★★★★为人民服务★★★★★
2010-04-04 18:24
hsnr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2010-4-4
收藏
得分:0 
太谢谢!是我疏忽。
2010-04-04 18:55
hsnr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2010-4-4
收藏
得分:0 
回复 3楼 hsnr
接上面的问题(同一个程序)。不过现在是运行上的问题,再请高手指点。在以下语句中
 ChebyshevPolynomial(j,nOrder,xVariable);
 TjXi=ChebyshevFunction( );

 ChebyshevPolynomial(j,nOrder,dxVariable);
 TjX=ChebyshevFunction( );
我本意是想通过构造函数ChebyshevPolynomial改变成员变量的值,然后计算出相应的函数值,可是我发现这样无法改变变量的值。怎么回事?要想做到这点,该如何做?谢谢了!
2010-04-04 20:48
快速回复:出现编译错误请求帮忙解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022733 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved