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);
[解决办法]