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

为何C++ Primer(4th)中的源代码在vc中编译出错?解决办法

2012-02-04 
为何C++ Primer(4th)中的源代码在vc中编译出错?源代码如下(未做任何改动):/**ThisfilecontainscodefromC+

为何C++ Primer(4th)中的源代码在vc中编译出错?
源代码如下(未做任何改动):
/*
  *   This   file   contains   code   from   "C++   Primer,   Fourth   Edition ",   by   Stanley   B.
  *   Lippman,   Jose   Lajoie,   and   Barbara   E.   Moo,   and   is   covered   under   the
  *   copyright   and   warranty   notices   given   in   that   book:
  *  
  *   "Copyright   (c)   2005   by   Objectwrite,   Inc.,   Jose   Lajoie,   and   Barbara   E.   Moo. "
  *  
  *  
  *   "The   authors   and   publisher   have   taken   care   in   the   preparation   of   this   book,
  *   but   make   no   expressed   or   implied   warranty   of   any   kind   and   assume   no
  *   responsibility   for   errors   or   omissions.   No   liability   is   assumed   for
  *   incidental   or   consequential   damages   in   connection   with   or   arising   out   of   the
  *   use   of   the   information   or   programs   contained   herein. "
  *  
  *   Permission   is   granted   for   this   code   to   be   used   for   educational   purposes   in
  *   association   with   the   book,   given   proper   citation   if   and   when   posted   or
  *   reproduced.Any   commercial   use   of   this   code   requires   the   explicit   written
  *   permission   of   the   publisher,   Addison-Wesley   Professional,   a   division   of
  *   Pearson   Education,   Inc.   Send   your   request   for   permission,   stating   clearly
  *   what   code   you   would   like   to   use,   and   in   what   specific   way,   to   the   following
  *   address:  
  *  
  *   Pearson   Education,   Inc.
  *   Rights   and   Contracts   Department
  *   75   Arlington   Street,   Suite   300
  *   Boston,   MA   02216
  *   Fax:   (617)   848-7047
*/  

#include   <iostream>
using   std::cout;   using   std::endl;
#include   <vector>
using   std::vector;

//   pass   iterators   to   the   first   and   one   past   the   last   element   to   print
void   print(vector <int> ::const_iterator   beg,
                      vector <int> ::const_iterator   end)
{
        while   (beg   !=   end)   {
                cout   < <   *beg++;  
                if   (beg   !=   end)   cout   < <   "   ";     //   no   space   after   last   element


        }
        cout   < <   endl;
}

//   vec   is   potentially   large,   so   copying   vec   might   be   expensive
//   use   a   const   reference   to   avoid   the   copy
void   print(const   vector <int>   &vec)
{
        for   (vector <int> ::const_iterator   it   =   vec.begin();
                                                                it   !=   vec.end();   ++it)   {
                if   (it   !=   vec.begin())   cout   < <   "   ";
                cout   < <   *it;
        }
        cout   < <   endl;
}

int   main()
{
        vector <int>   vec(42);
        print(vec.begin(),   vec.end());
        print(vec);
}
//我的编译结果是:22   errors
我发觉只要用到容器就会出错,这是怎么回事?我相信源码不会错的吧
希望有人可以帮忙编译一下,看结果是不是和我的一样。如果有能力,还望说明其中缘由。
Thanks!!!

[解决办法]
代码没问题..
[解决办法]
代码没错,将头文件重新输入vector就可以了,不要复制粘贴。(vc6.0)
[解决办法]
VC6是在C++标准99出来之前发布的
请不要再使用VC6

热点排行