比如一个类CMyClass它的一个成员函数,需要调用自己的成员变量m_a我直接用m_a,编译就出错改成 (CMyClass)this->m_a,就通过了但不是使用所有的成员变量或函数会这样。为什么?怎么做,才能不用加 (CMyClass*)this-> 谢谢附:错误信息
****.cpp(145) : error C2662: 'SetItemImage' : cannot convert 'this' pointer from 'const class CTreeCtrl' to 'class CTreeCtrl &'

解决方案 »

  1.   

    主要是因为成员函数上加有const 修饰符的原因
      

  2.   

    for example:
    void CTestClass::TestMethod() const
    {
    m_treeTest.SetItemImage(...);//这就会导致你说的问题,解决方案之一是去掉上面的const
    }
      

  3.   

    看错误信息,是const类型转换成普通类型的问题。
    你的m_a是什么类型?
      

  4.   

    DentistryDoctor(雅克医生<改行做程序员了>):我把const去掉就可以了
    原来想加const是为了保证成员变量不被改变。
    没想到连访问成员变量都不行。
      

  5.   

    (CMyClass*)一般是调别的类的函数的时候才用的嘛好象,奇怪