我想用哈希结构做个查询软件。但是我想用从CSTRING 对象中返回一个数字做为关键值时出现以下错误:(这是在哈希类中的实现)
unsigned haxi::key(CString a)
{
unsigned sum=0,start=2,len=2;
for(unsigned i=0;i<len;i++)
sum=a[i];
cout<<sum/10;
return sum/10;
};
f:\c++自己的程序\sdisample\haxi.h(182) : error C2666: '[]' : 2 overloads have similar conversions这是为什么呢?
请高手解答,

解决方案 »

  1.   

    换成 
    for(int i=0;i<len;i++)
      

  2.   

    unsigned haxi::key(char *a)
    {
    unsigned sum=0,start=2,len=2;
    for(unsigned i=0;i<len;i++)
    sum=a[i];
    cout<<sum/10;
    return sum/10;
    };
      

  3.   

    用 unsigned 编译器就不知道用 TCHAR operator[](int nIndex) const;还是
    operator LPCTSTR() const;
      

  4.   

    cstring 不是
    string;
    没有从载[]
    CString a;
    a.GetBuffer();返回的
    就是字符串。
      

  5.   

    不是吧!CString,重载了[]
    不过我有个问题,在CONSOL工程下怎么用cstring,需要什么?很菜鸟吧
      

  6.   

    在console下就 不要用CSTRING啦!
    直接用字符数组就不错。或者用String类也可以的(STL,STRING类)