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

vector的异常,帮小弟我看看该如何改

2012-02-28 
vector的错误,帮我看看该怎么改?#includehufman.h voidmain(){inti,ntypedefvectorintintvectortype

vector的错误,帮我看看该怎么改?
#include   "hufman.h "

void   main()
{

int   i,n;
typedef   vector   <   int   >   intvector;
typedef   vector::iterator   intiterator;
//char*   cnode;
cout < < "输入节点个数: " < <endl;
cin> > n;
//
node*   cnode   =   new   node[n];
hnode*   dnode   =   new   hnode[n-1];
//
intiterator   it;
cout < < "输入节点内容: " < <endl;
for(i=0;i <n;i++)
{
cin> > cnode[i].content;
cin> > cnode[i].quency;
//number[i]   =   cnode[i].quency;
intvector.push_back   (cnode[i].quency);
}

}  
出现错误:
:\Program   Files\Microsoft   Visual   Studio\MyProjects\huffman\huffman.cpp(8)   :   error   C2955:   'vector '   :   use   of   class   template   requires   template   argument   list
                c:\program   files\microsoft   visual   studio\vc98\include\vector(244)   :   see   declaration   of   'vector '
C:\Program   Files\Microsoft   Visual   Studio\MyProjects\huffman\huffman.cpp(8)   :   error   C2955:   'vector '   :   use   of   class   template   requires   template   argument   list
                c:\program   files\microsoft   visual   studio\vc98\include\vector(244)   :   see   declaration   of   'vector '
C:\Program   Files\Microsoft   Visual   Studio\MyProjects\huffman\huffman.cpp(23)   :   error   C2143:   syntax   error   :   missing   '; '   before   '. '
C:\Program   Files\Microsoft   Visual   Studio\MyProjects\huffman\huffman.cpp(23)   :   error   C2143:   syntax   error   :   missing   '; '   before   '. '
Error   executing   cl.exe.


[解决办法]
typedef vector < int > intvector;
=================================
typedef vector <int> intvector;
[解决办法]
#include <iostream>
#include <iterator>
#include <vector>
using namespace std;
typedef pair <string,int> node;
int main()
{

int i,n;
typedef vector <int> intvector;
typedef intvector::iterator intiterator;
cout < < "输入节点个数: " < <endl;
cin> > n;
node cnode;
intvector vec;
cout < < "输入节点内容: " < <endl;
for(i=0;i <n;i++)
{
cin> > cnode.first;
cin> > cnode.second;
vec.push_back (cnode.second);
}
system( "PAUSE ");
return 0;
}
[解决办法]
typedef vector < int > intvector;

在中括号内部可以使用 空格,
但是 vector 和后面的 < 必须紧跟,
否则语法错误了~
[解决办法]
还是楼上快:
typedef vector < int > intvector;没错

关键改:
typedef vector::iterator intiterator;

typedef intvector::iterator intiterator;


热点排行