我无法在代码中弄清楚这个错误:
error: invalid operands to binary < (have ‘Flight’ and ‘NodeT’)
if ( flight < *p)
^
我正在尝试创建二叉树并创建搜索:
NodeT *insertT(NodeT *p, Flight flight)
{
if ( p == NULL )
{
p = malloc ( sizeof ( NodeT ) ) ;
(p) -> pLeft = NULL ;
(p) -> flight;
(p) -> pRight = NULL ;
}
else/* search the node to which new node will be attached */
{
/* if new data is less, traverse to left */
if ( flight < *p)
insert ( &( (p) -> pLeft ), flight ) ;
else /* else traverse to right */
insert ( &( (p) -> pRight ), flight ) ;
}
}
我尝试过更改并调整节点。
答案 0 :(得分:0)
您尝试比较两种不同的类型 - Flight flight
和NodeT *p
。
根据您的代码,您似乎需要更改
if (flight < *p)
到
if (flight < p->flight)