| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 717 人关注过本帖
标题:想了3天还是compile不可以
只看楼主 加入收藏
zfan85
Rank: 1
等 级:新手上路
帖 子:25
专家分:8
注 册:2010-8-30
结帖率:66.67%
收藏
 问题点数:0 回复次数:3 
想了3天还是compile不可以
请各位大大分享一下是那里错了,我跟另外2个同学想了一个星期了
下面是Binomial.h里的内容
#ifndef BINOMIAL_H
#define BINOMIAL_H

#define    SUCCESS    0
#define    FAILURE    -1

enum    CALL_PUT    {Call, Put};
enum    AMER_EURO    {European, American};

#define OPTION_MULTIPLIER(x)    ((x) == Call ? 1.0 : -1.0)
#define MAX(a,b) (((a) > (b)) ? (a) : (b))

/*-----------------------------------------------------------------------------
** FUNCTION:    CRRBinomialTree.
**
** DESCRIPTION:    Calculates the price of an option using the Cox, Ross and Rubinstein
**                binomial tree model.
**
** RETURNS:        SUCCESS and the premium, otherwise FAILURE.                                 
**
**---------------------------------------------------------------------------*/
int CRRBinomialTree(
    CALL_PUT    callOrPut,                /* (I) put or call flag (use Call or Put) */
    AMER_EURO    amerOrEuro,                /* (I) option type (use European, American) */
    double        spotPrice,                /* (I) spot price of underlying */
    double        strike,                    /* (I) strike price of option */
    double        maturity,                /* (I) maturity of option in years */
    double        vol,                    /* (I) annual volatility of underlying */
    double        rate,                    /* (I) annual continuous compounded discount rate */
    int            nStep,                    /* (I) number of steps in tree */
    double        *value);                /* (O) option value */

#endif



这是Binomial.cpp的内容

#include<iostream>
#include"Binomial.h"
#include"cmath"

using namespace std;

int CRRBinomialTree(CALL_PUT callOrPut, AMER_EURO amerOrEuro, double spotPrice, double strike, double maturity, double vol, double rate, int nStep,double *value)
{        
    double u,d,p,discount;
    int i;
    u=exp(vol*sqrt(maturity/nStep));d=1/u;p=(exp(rate*maturity/nStep)-d)/(u-d);discount=exp(-rate*maturity/nStep);
    if(amerOrEuro==European){
        for(i=0;i<=nStep;i++)
            value[i]=MAX(OPTION_MULTIPLIER(callOrPut)*(spotPrice*pow(u,nStep-2i)-strike),0);
        while(nStep>0){
            for(i=0;i<=nStep-1;i++)
            value[i]=discount*(p*value[i]+(1-p)*value[i+1]);
            nStep--;}
    }
    else if(amerOrEuro==American){
        for(i=0;i<=nStep;i++)
            value[i]=MAX(OPTION_MULTIPLIER(callOrPut)*(spotPrice*pow(u,nStep-2i)-strike),0);
        while(nStep>0){
            for(i=0;i<=nStep-1;i++)
            value[i]=MAX(discount*(p*value[i]+(1-p)*value[i+1]),MAX(OPTION_MULTIPLIER(callOrPut)*(spotPrice*pow(u,nStep-2i)-strike),0));
            nStep--;}
    }
    else
        return FAILURE;

return SUCCESS;


}


当我compile的时候出现
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(14) : error C2059: syntax error : 'bad suffix on number'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(14) : error C2146: syntax error : missing ')' before identifier 'i'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(14) : error C2059: syntax error : 'bad suffix on number'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(14) : error C2059: syntax error : ')'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(22) : error C2059: syntax error : 'bad suffix on number'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(22) : error C2146: syntax error : missing ')' before identifier 'i'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(22) : error C2059: syntax error : 'bad suffix on number'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(22) : error C2059: syntax error : ')'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(25) : error C2059: syntax error : 'bad suffix on number'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(25) : error C2146: syntax error : missing ')' before identifier 'i'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(25) : error C2059: syntax error : 'bad suffix on number'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(25) : error C2059: syntax error : 'bad suffix on number'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(25) : error C2059: syntax error : 'bad suffix on number'
1>c:\users\zhang fan\desktop\新建文件夹\binomial.cpp(25) : error C2059: syntax error : ')'


根据我的分析,错误是相同的,可是就是不知道是那里错?
搜索更多相关主题的帖子: compile 
2010-09-28 00:35
pbreak
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:83
专家分:558
注 册:2007-5-10
收藏
得分:0 
2i 是什么意思?
2010-09-28 14:59
weble
Rank: 2
等 级:论坛游民
帖 子:59
专家分:83
注 册:2009-4-12
收藏
得分:0 
变量名不能以数字开头

路漫漫其修远兮,吾将上下而求索
2010-09-28 21:23
zfan85
Rank: 1
等 级:新手上路
帖 子:25
专家分:8
注 册:2010-8-30
收藏
得分:0 
谢谢 我知道了
2010-09-28 23:17
快速回复:想了3天还是compile不可以
数据加载中...
 
   



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

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