C++中对包含string成员的结构体变量初始化解决方法

C++中对包含string成员的结构体变量初始化
我使用的VC++6.0,但我的程序在编译时出错,请高手指点怎样修改才能使用包含
string成员的结构体变量,并对其初始化。下面是我的程序:
#include <iostream>
#include <string>
using namespace std;
struct Person
{
  string name;
  int count;
};
int main()
{
  Person leader[3]={{"li",0},{"zhang",0},{"fun",0}};
  int i,j;
  string leader_name;
  for(i=0;i<10;i++)
  {
    cin>>leader_name;
    for(j=0;j<3;j++)
    if(leader_name==leader[j].name) leader[j].count++;
   }
  cout<<endl;
  for(i=0;i<3;i++)
  {
    cout<<leader[i].name<<':'<<leader[i].count<<endl;
  }
  return 0;
}
出错信息是source.cpp(11) : error C2440: 'initializing' : cannot convert from 'char [3]' to 'struct Person'
source.cpp(11) : error C2440: 'initializing' : cannot convert from 'const int' to 'struct Person'
请高人指点一下,帮忙改改
string c++

------解决方案--------------------
添构造函数
Person(const char* pszString, int iCount)
{
name = pszString;
count = iCount;
}
数组显式初始化
Person leader[3]={Person("li",0),Person("zhang",0),Person("fun",0)};
------解决方案--------------------
代码是正确的,只是vc6太古老了。
vs2003以后版本都可以直接编译通过lz的代码