vector里如何加东西

vector里怎么加东西
typedef   int   point[3];
vector <point>   pt;
int   a[3]={1,2,3};
1.
pt.push_back(a);
不能把int   转换成point

2.
pt.push_back(*a);
3.
pt.push_back(&a);
不能把point   *转换成   point

请教  
1.pt存储什么类型
2.怎么才能增加数据



------解决方案--------------------
数组不支持赋值操作,不能直接=,剖析你这种用法,实际上等于
int a[3];
int b[3]={1,2,3};
a=b;
能成立吗?
支持赋值和复制是容器使用的最低要求。

你要想用二维数组,应该是这样

vector <vector <int> > pt;
pt.resize(2);
pt[0].resize(3);
pt[1].resize(3);
pt[0][1]=1;
pt[1][2]=2;
//用resize实现动态二维数组。
------解决方案--------------------
struct pa
{
int i[3];
};
//-----------------------------------------------
pa a, b = { 1, 2, 3 };
int i[3], j[3] = { 1, 2, 3 };
// i = j;
cout < < i[0] < < ", " < < i[1] < < ", " < < i[2] < < endl;
a = b;
cout < < "struct array copy : ";
cout < < a.i[0] < < ", "
< < a.i[1] < < ", "
< < a.i[2] < < endl;

//------------------------------------------
用一个struct包装一下,就可以了