这个程序为什么出错?
#include <iostream>
#include <vector>
using namespace std;
class X{
int i;
};
template<class T> class Node{
public:
auto_ptr<T> pdata;
};
int main(){
vector< Node<X> > f(10);//我想开始向量中有十个Node;
return 0;
}
我拿g++编译的时候出现了如下的错误:
/usr/include/c++/3.2/bits/stl_construct.h: In function `void
std::_Construct(_T1*, const _T2&) [with _T1 = Node<X>, _T2 = Node<X>]':
/usr/include/c++/3.2/bits/stl_uninitialized.h:191: instantiated from `_ForwardIter std::__uninitialized_fill_n_aux(_ForwardIter, _Size,
const _Tp&, __false_type) [with _ForwardIter = Node<X>*, _Size = unsigned int, _Tp = Node<X>]'
/usr/include/c++/3.2/bits/stl_uninitialized.h:216: instantiated from `_ForwardIter std::uninitialized_fill_n(_ForwardIter, _Size, const
_Tp&) [with _ForwardIter = Node<X>*, _Size = unsigned int, _Tp = Node<X>]'
/usr/include/c++/3.2/bits/stl_vector.h:342: instantiated from `std::vector<_Tp, _Alloc>::vector(unsigned int) [with _Tp = Node<X>, _Alloc = std::allocator<Node<X> >]'
test.cpp:17: instantiated from here
/usr/include/c++/3.2/bits/stl_construct.h:78: no matching function for call to
`Node<X>::Node(const Node<X>&)'
/usr/include/c++/3.2/bits/stl_vector.h:342: candidates are: Node<X>::Node()
test.cpp:10: Node<X>::Node(Node<X>&)
不知那位高手能帮我解决一下.