您的位置:首页 > 其它

关于incompatible types when assigning to type "a"from type "b"的bug修复

2018-01-15 22:49 821 查看
此error出现的原因是因为函数参数引用不正确,a 与b 两者类型不匹配。

关于此问题,根本原因是因为指针概念不清晰。

以下是头文件DLList.h节选:

typedef struct DLListNode {

int value; // value of this list item (int)

struct DLListNode *prev;

// pointer previous node in list

struct DLListNode *next;

// pointer to next node in list

} DLListNode;

typedef struct DLListNode *DLListNodeP;

typedef struct DLListRep {

int nitems; // count of items in list

DLListNode *first; // first node in list

DLListNode *curr; // current node in list

DLListNode *last; // last node in list

} DLListRep;

typedef struct DLListRep *DLList;

/* creates a new DLListNode, with a given val*/

DLListNode *newDLListNode(int val);

// create a new empty DLList

DLList newDLList();
其中,

typedef struct DLListNode *DLListNodeP;
*号跟在类型的后边表示声明或者定义的是指针,在变量前面是解引用符、 

此处表示有一个名叫DLListNodeP的指针,类型为DLListNode。

若要引用头文件中的函数,正确写法应为:DLListNodeP m =newDLListNode(p->value);

AddListNode_back(peaksL,m);
void AddListNode_back(DLList pList, DLListNodeP pNode)
通过DLListNodeP与DLList两个指针来操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐