首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请帮忙看一下这个程序,该怎么解决

2012-03-03 
请帮忙看一下这个程序用编译时间换取执行时间用了两个编译器都无法通过#includeiostream.h#includetime

请帮忙看一下这个程序
用编译时间换取执行时间

用了两个编译器都无法通过  
#include   <iostream.h>
#include   <time.h>

#define   FibT(n)     Fib <n> ::var

template <>   struct   Fib <0>   {enum   {var=0};};
template <>   struct   Fib <1>   {enum   {var=1};};
template <unsigned   int   N>
struct   Fib{
enum
{  
var=Fib <N-1> ::var+Fib <N-2> ::var
};

};


unsigned   int   RecursiveFib(unsigned   int   m)
{
if(m <=1)
return   m;
return   RecursiveFib(m-1)+RecursiveFib(m-2);
}
void   main()
{    
unsigned   int   temp;
        clock_t   start,finish;
double   duration;
start=clock();
temp=FibT(30);
finish=clock();

duration=(double)(finish-start)/CLOCKS_PER_SEC;
cout < <temp < <endl;
cout < <duration < <endl;
return;
}
请问要如何修改

[解决办法]
哪两个编译器 不是VC6.0吧?
用G++看下
[解决办法]
template <unsigned int N>
struct Fib{
enum
{
var=Fib <N-1> ::var+Fib <N-2> ::var
};

};
template <> struct Fib <0> {enum {var=0};};
template <> struct Fib <1> {enum {var=1};};
特化必须在模板【前置】声明之后。注意基本功呀。

热点排行