读书人

这个异常如何改呢

发布时间: 2012-09-09 09:27:54 作者: rapoo

这个错误怎么改呢?
明明是同一个类型的啊,怎么会这样呢?!

error C2664: “Control::FindIDHierarchyDes”: 不能将参数 1 从“HierarchyTableDes”转换为“HierarchyTableDes *”

C/C++ code
class Control{.........    Hierarchy *FindIDinHierarchy( HierarchyTableDes *FirstDes,WORD ID );    HierarchyTableDes *FindIDHierarchyDes( HierarchyTableDes *FirstDes,WORD ID );    void DelIDinHeirarchy( WORD ID );};HierarchyTableDes *Control::FindIDHierarchyDes( HierarchyTableDes *FirstDes,WORD ID ){    for(DWORD i = 0;i < FirstDes->Point;i++)            {        if( FirstDes->TableAddr[ i ].ID == ID )        {            return FirstDes;        }        if( FirstDes->TableAddr[ i ].SubHierarchy != NULL )        {            FindIDHierarchyDes( FirstDes->TableAddr[ i ].SubHierarchy,ID );            }            }    if( FirstDes->NextTableStruct != NULL )            //if have next table    {        FindIDHierarchyDes( FirstDes->NextTableStruct,ID );    }}void Control::DelIDinHeirarchy( WORD ID ){    [color=#FF0000]HierarchyTableDes *DesLocate = FindIDHierarchyDes( FirstTable,ID );[/color]........


[解决办法]
HierarchyTableDes *DesLocate = FindIDHierarchyDes( FirstTable,ID );
-》
HierarchyTableDes *DesLocate = FindIDHierarchyDes( &FirstTable,ID );试试
[解决办法]
楼上正解
[解决办法]
这种就是参数类型不对,传地址指针就可以
[解决办法]
HierarchyTableDes *FindIDHierarchyDes( HierarchyTableDes *FirstDes,WORD ID );
-----
第一个参数是指针~

读书人网 >VC/MFC

热点推荐