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;