例如
void aa()
{
CClientDC dc(this);
bb(dc);
}void bb(CClientDC dc)
{}这样调用函数bb()的时候编译不通过哦!!为什么????
但是用指针或是引用的话就可以的!!
是不是因为CDC对象太大了!不可以传值调用哦??
麻烦指点一下,谢谢了!

解决方案 »

  1.   

    CDC 的符值运算符(=)与拷贝构造函数是私有的,禁止在外面调用,CDC对象作为参数传递是要调用符值运算符(=)与拷贝构造函数,所以会出错的
      

  2.   

    CObject中:
    private:
    CObject(const CObject& objectSrc);              // no implementation
    void operator=(const CObject& objectSrc);       // no implementationCDC public: CObject
    {
    .....
    }
      

  3.   

    void bb(CClientDC& dc)
    {}