vector参数传递的有关问题

vector参数传递的问题
假如有以下代码:
void   printf(vector <int> a);
void   main()
{   int   n;
    cin   > >   n;
    vector <int>   a(n); 
    printf(a);
}

请问printf函数的参数类型写对了吗?


------解决方案--------------------
仅仅考虑参数类型,答案是正确的。

不过,printf 是标准库函数了,
自定义的话,换一个名字 ...
------解决方案--------------------
从效率上考虑,定义成void printf(vector <int> & a);更好,用法没问题