C Неявное объявление отличается от объявления внутренней функции

У меня проблемы со стандартными функциями C. Например, я получаю эту ошибку в функции memcpy, даже передавая ей правильные аргументы. Я включил заголовок как #include "header.h", а также включил и так далее в файл "header.h". (Я также получаю эту ошибку с помощью strcpy, strtok и некоторых других стандартных функций, все соответствующие заголовки включены в «header.h»)

Кто-нибудь может помочь мне с этим? У меня мало времени, чтобы развернуть эту работу... Заранее спасибо


person Vladimir    schedule 12.07.2012    source источник
comment
какой заголовок вы используете для memcpy? Вам нужно включить string.h   -  person ouah    schedule 12.07.2012
comment
мы не знаем, каковы ваши ошибки, как выглядит ваш код, что вы пытаетесь сделать - так чем мы можем помочь?!?   -  person Nim    schedule 12.07.2012
comment
#include "source.c"каламбур предназначен.   -  person wildplasser    schedule 12.07.2012
comment
@wildplasser - Нет, вы никогда не должны включать файл C. Только заголовки, а заголовки не должны содержать реализации функций.   -  person Kevin Vermeer    schedule 12.07.2012
comment
Какой компилятор вы используете? и, пожалуйста, покажите свой код.   -  person Jack    schedule 12.07.2012
comment
Извините, я не могу показать код прямо сейчас, я опубликую его через несколько часов (я работаю на чужом ПК) Ним, в основном компилятор жалуется, что стандартные функции неявно декларируют (?! ), файлы заголовков которого включены в мой собственный заголовок header.h, отличается от внутренней функции. ouah, я включил string.h, stdlib.h, stdio.h и т. д. Джек, я использую компилятор gcc c, работающий с Eclipse CDT   -  person Vladimir    schedule 12.07.2012
comment
@Vladimir Я предлагаю вам создать файл с параметром gcc -E (останавливается после предварительной обработки) и проверить вывод, чтобы увидеть, какие заголовки и прототипы функций на самом деле извлекаются. Это может устранить путаницу.   -  person Andrew Cottrell    schedule 12.07.2012
comment
Спасибо, Эндрю, я думаю, это было бы полезно, но я уже решил эту проблему. Кажется, в eclipse возникли проблемы, потому что я щелкнул правой кнопкой мыши одну из этих функций, выбрал «Источник» -> «Добавить», и это решило проблему (но не добавило заголовка). Еще раз спасибо за то, что вы единственный, у кого есть простой ответ на простой вопрос.   -  person Vladimir    schedule 13.07.2012


Ответы (2)


Кажется, это были какие-то проблемы во время затмения. Я щелкнул правой кнопкой мыши одну из этих функций, выбрал «Источник» -> «Добавить», и это решило проблему (но не добавило никакого заголовка). Я надеюсь, что это может быть полезно для кого-то еще

person Vladimir    schedule 13.07.2012

Поскольку вы не разместили свой код, я предполагаю, что вы не включили следующие строки кода в верхней части файла:

#include <string.h>

Если вы используете компилятор С++ (т.е. g++), то:

#include <cstring>
person nick.katsip    schedule 24.01.2013