关于incompatible types when assigning to type "a"from type "b"的bug修复
2018-01-15 22:49
841 查看
此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();
其中,
此处表示有一个名叫DLListNodeP的指针,类型为DLListNode。
若要引用头文件中的函数,正确写法应为:DLListNodeP m =newDLListNode(p->value);
AddListNode_back(peaksL,m);
关于此问题,根本原因是因为指针概念不清晰。
以下是头文件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两个指针来操作。
相关文章推荐
- Assigning to 'id<QMapViewDelegate>" from incompatible type "view control * const_strong"
- gf-complete报错error: incompatible types when assigning to type '__m128i' from type 'int'
- 关于应用在Xcode8上运行时的报错:Assigning to 'id<XXDelegate>' from incompatible type...
- Assigning to "id<CALayerDelegate> _Nullable" from incompatible type "ZXCapture *const __strong" 的警告提示信息
- incompatible pointer types assigning to 'nsmutablearray ' from 'nsarray '
- Incompatible pointer types assigning to 'id<>' from 'Class'
- IOS Assigning to 'id<Delegate>' from incompatible type...解决办法<CALayerDelegate>
- IOS Assigning to 'id<UITabBarControllerDelegate>' from incompatible type...
- assigning to id from incompatible type
- Assigning to 'id<UITextViewDelegate>' from incompatible type 'HBComposeViewController *const __stron
- incompatible pointer types assigning to 'int *' from 'char'
- Incompatible pointer types assigning to 'NSMutableArray *' from 'NSArray *'
- Assigning to 'AppDelegate *' from incompatible type 'id<UIApplicationDelegate>'
- iOS常见问题之 IOS Assigning to 'id<XXXDelegate>' from incompatible type...
- 修复界面bug并增加了自动提示是否输赢的 关于之前博客"html5 canvas 绘制象棋(将持续改进)"
- Xcode错误"Cast from pointer to smaller type 'int' loses information”
- 关于问题warning: passing arg 2 of `bind' from incompatible pointer type理解
- 由"Type mismatch: cannot convert from View to ProgressBar"联想到的类型转换错误的根源
- Incompatible pointer types returning 'NSArray *' from a function with result type 'xxx *'
- iOS开发 - "Cast from pointer to smaller type 'int' loses information” 解决办法