Ошибка 98: конфликт с предыдущим определением x для атрибута type
Я получаю эту ошибку компиляции, используя SDCC и программируя старый 8051. Я пытаюсь заставить работать команду поиска 1wire. Я получил в свои руки библиотеку OneWire, которую я начал модифицировать для своего аппаратного / программного обеспечения, и теперь я застрял за этой ошибкой:
C:\sdcc\code>sdcc test3.c
test3.c:164: error 98: conflict with previous definition of 'OW_search' for attribute 'type'
from type 'int function ( struct OW_info generic* fixed, unsigned-char fixed) fixed'
to type 'int function ( struct OW_info generic* fixed, unsigned-char fixed) fixed'
Строки, где появляется ошибка, следующие.
183:...
184:int OW_search(struct OW_info *info)
185:{
186:unsigned char *buffer;
187:int id_bit_number;
188 ...
На всякий случай объявление OW_info
struct OW_info
{
unsigned char family;
unsigned char serialNum[6];
unsigned char crc;
};
Я создаю прототип функции выше
int OW_search(struct OW_info *info);
Я не могу найти правильную причину, почему я получаю эту ошибку компиляции. Я надеюсь на некоторые намеки, почему это произошло. Благодарю.
И ссылка для загрузки всего моего кода http://www.upload.ee/files/4489287/test3.txt.html
1 ответ
Я получил ошибки, потому что я объявил структуры после прототипирования своих функций. Благодаря @TripeHound теперь известно, что структуры должны быть объявлены до создания прототипа функции, и после дальнейших исследований кажется, что другого пути нет.