用vector实现字符串分割封装成函数不能实现的有关问题,谢谢

用vector实现字符串分割封装成函数不能实现的问题,多谢!
在VC++中编写下列程序,直接写在main函数里能实现,但是封装成函数就不行了,这是为什么?

//参数说明:strings是要返回的字符串VECTOR,s是待分割的字符串,c是分割字符
CStringDivision(vector <CString>   strings,   CString   s,   const   char   c)
{
int   pos,   cursor;
CString   media;

if   (!   strings.empty())
strings.clear();

pos=-1;
while(   (s.Find( ', ',pos+1)   !=   -1)   ||   (pos+1   <   s.GetLength())   ){
cursor   =   s.Find( ', ',pos+1);
if     (cursor   ==   -1)
cursor   =   s.GetLength();
media   =   s.Mid(pos+1,cursor-pos-1);
pos   =   cursor;
strings.push_back(   (CString)media   );
}
}

------解决方案--------------------
引用传参数
vector <CString> & strings