背景
编写程序 #622 设计循环队列
时,在填充完题目原本的模板之后执行程序。
报错内容
solution.c: In function ‘myCircularQueueEnQueue’
Line 22: Char 8: warning: implicit declaration of function ‘myCircularQueueIsFull’; did you mean ‘myCircularQueueEnQueue’? [-Wimplicit-function-declaration]
if(myCircularQueueIsFull(obj)) return false;
^~~~~~~~~~~~~~~~~~~~~
myCircularQueueEnQueue
Line 23: Char 8: warning: implicit declaration of function ‘myCircularQueueIsEmpty’; did you mean ‘myCircularQueueCreate’? [-Wimplicit-function-declaration]
if(myCircularQueueIsEmpty(obj)){
^~~~~~~~~~~~~~~~~~~~~~
myCircularQueueCreate
solution.c: At top level
Line 53: Char 6: error: conflicting types for ‘myCircularQueueIsEmpty’
bool myCircularQueueIsEmpty(MyCircularQueue* obj) {
^~~~~~~~~~~~~~~~~~~~~~
分析
implicit declaration of function
出现这种问题,是因为在函数一myCircularQueueEnQueue
中使用到的函数二myCircularQueueIsFull
和函数三myCircularQueueIsEmpty
之前并没有定义或者申明。
处理方式
在函数一myCircularQueueEnQueue
之前对函数二myCircularQueueIsFull
和函数三myCircularQueueIsEmpty
进行申明或者定义。