尝试强制类型转换还是不行!有人知道怎么解决吗?问题如下:
在class CEx07aDoc中定义POINT并定义POINT类型的数组变量: typedef struct tagPOINT{
LONG x;
LONG y;
}POINT; POINT BezierPoint[10];在void CEx07aView::DrawBezier (CDC *pDC)中调用CDC的成员函数PolyBezier
其函数原型为PolyBezier(const tagPOINT*,int) pDC->PolyBezier(pDoc->BezierPoint , 4);
程序编译无误,但是假如这个语句之后就会出现错误,错误提示如下:
error C2664: 'PolyBezier' : cannot convert parameter 1 from 'struct CEx07aDoc::tagPOINT [10]' to 'const struct tagPOINT *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast尝试用强制转换还是出现同样的错误,有哪位知道的指点下,如果需要完整的程序,请回帖告诉我
我会发到你的邮箱,,也可以发邮件给我!我尝试过在网搜索相关的文章,搜到了一篇,不过我看得也没能解决这个问题。所以希望在这里能够得到解决方案。先在这里表示感谢了!

解决方案 »

  1.   

    POINT结构不是MFC中已经定义的了吗?
    把你的代码发过来看看
    [email protected]
      

  2.   

    POINT是已经有定义的了,你最好另外给个名字,这种习惯不好。'CEx07aDoc::tagPOINT [10]'  可见你是在CEx07aDoc内部定义结构的,放到外部去。
      

  3.   

    这个结构的声明放到CEx07aDoc前面去,不要放在内部。
      

  4.   

    源码已经收到
    把pDC->PolyBezier(pDoc->BezierPoint , 4);
    改为 pDC->PolyBezier((tagPOINT *)pDoc->BezierPoint , 4);
    就可以了。我刚刚试过了。