мой код
void doc(){
//mycode
return;
}
мое предупреждение
conflicting types for 'doc'
может кто-либо решать его.
вы объявили его с каким-то другим типом / сигнатурой и определили с каким-то другим типом / сигнатурой ..
например,
int doc();
void doc()
{
}
выдаст вам это предупреждение .
Это явно не полный код.
Однако эта ошибка означает, что существует другое объявление для doc
(возможно, глобальная переменная? Что-то в файле заголовка?), Которая не является функцией void
, которая не принимает параметры.
"doc", вероятно, уже объявлен с другим типом ... вам следует попытаться найти предыдущее объявление!
Вы либо объявили doc
ранее, либо сделали вызов необъявленного doc
, что заставило компилятор вывести вероятное объявление параметра для doc
из этого вызова . Теперь определение doc
, которое вы процитировали, отличается от этого предыдущего объявления (явного или выведенного компилятором), что считается «конфликтом».
В C, если у вас нет прототипа для функции, когда вы вызываете ее, предполагается, что она возвращает int
и принимает неопределенное количество параметров. Затем, когда вы позже определяете свою функцию как возвращающую void
и не принимающую никаких параметров, компилятор воспринимает это как конфликт.
В зависимости от сложности вашего кода, вы можете сделать что-то простое, например, перенести определение функции перед ее использованием, или добавить объявление функции в заголовочный файл и включить его.
В любом случае, чистый эффект должен заключаться в том, чтобы сделать прототип функции доступным до ее использования.
Если вы добавите
void doc(void);
перед использованием функции, у вас будет прототип, видимый в области видимости, и ваше предупреждение исчезнет.
Я думаю, что это наиболее вероятная причина вашего предупреждения. Возможно, в вашем коде есть явное несовместимое объявление doc
, но мы не можем сказать, потому что вы не опубликовали полный код.
Убедитесь, что вы не использовали документ где-либо в вашем коде!, Я думаю, что это только доставляет вам неприятности!
попробуйте написать вашу функцию doc перед вашей главной функцией в вашем программном файле.