首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

error C2664: “CObArray:Add”: 不能将参数 一 从“CVertex *”转换为“CObject *”

2012-12-27 
error C2664: “CObArray::Add”: 不能将参数 1 从“CVertex *”转换为“CObject *”本帖最后由 chinaonsh 于 20

error C2664: “CObArray::Add”: 不能将参数 1 从“CVertex *”转换为“CObject *”
本帖最后由 chinaonsh 于 2010-07-27 11:24:06 编辑 做了个类CVertex
利用CTypedPtrArray<CObArray,CVertex*>m_VertexArray1;

CVertex*  m_Vertex;

m_Polyline->m_VertexArray1.Add(m_Vertex);


d:\program files\microsoft visual studio 8\vc\atlmfc\include\afxtempl.h(1860) : error C2664: “CObArray::Add”: 不能将参数 1 从“CVertex *”转换为“CObject *”
1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>        d:\program files\microsoft visual studio 8\vc\atlmfc\include\afxtempl.h(1860): 编译类 模板 成员函数“INT_PTR CTypedPtrArray<BASE_CLASS,TYPE>::Add(TYPE)”时
1>        with
1>        [
1>            BASE_CLASS=CObArray,
1>            TYPE=CVertex *
1>        ]
1>        f:\调绘系统\code\cadtoshp\cadtoshp\polyline.h(19): 参见对正在编译的类 模板 实例化“CTypedPtrArray<BASE_CLASS,TYPE>”的引用
1>        with
1>        [
1>            BASE_CLASS=CObArray,
1>            TYPE=CVertex *
1>        ]
[解决办法]
必须定义一个CObArray*的类型,你可以用
CObArray* m_ObArray;
...
m_Polyline->m_VertexArray1.Add(m_ObArray);

[解决办法]

引用:
我用CObArray 作CVertex 基类仍然出现同样问题

把CObject 作为CVertex的基类

热点排行