vector<CBitmap>::iterator iter;CBitmap *poldbitmap = dcCompatible.SelectObject(iter); 提示
:'CPen *CDC::SelectObject(CPen *)' : cannot convert parameter 1 from 'std::_Vector_iterator<_Ty,_Alloc>' to 'CPen *'
如果变成CBitmap *poldbitmap = dcCompatible.SelectObject((*iter));
 
error C2440: 'initializing' : cannot convert from 'HGDIOBJ' to 'CBitmap *'
该怎么使用呢?
谢谢~~

解决方案 »

  1.   

    dcCompatible什么类型?
    SelectObject里面的参数应该是什么类型?
      

  2.   

    你可以类似这样写 vector<CBitmap*> vec; vector<CBitmap*>::iterator iter = vec.begin(); CBitmap* poldbitmap = (CBitmap*)dc.SelectObject(*iter);
      

  3.   

    相當蛋疼的一分
    CBitmap *poldbitmap = dcCompatible.SelectObject(&((CBitmap)(*iter)));
      

  4.   

    我接分.
    iter是游标.
    *iter是游标处所代表的内容.
      

  5.   

    后来发现 我错了错在定义了vector<CBitmap> bmp;
    然后向其中添加: bmp.push_back(bitmap);push_back里面不能是CBitmap类,会调用CBitmap的构造函数。我也不清楚为什么会这样