给结构体数据循环赋值有关问题

给结构体数据循环赋值问题、
结构体:
tyepdef struct
{
    string strType;
    int   nTask;
    int   nPos;
} ST;


ST  my_arr[100];
for ( int i =0; i<100; i++)
{
    my_arr[i].strType="a";
    my_arr[i].nTask = 0;
    my_arr[i].nPos = 0;
}

这样循环赋值,为什么字符串赋值错误呢? int型的赋值没有问题... 在线等
------解决思路----------------------
memset( my_arr, 0, sizeof(ST)*100 ); 多此一举,这样把string成员全清0了