#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include "modul.c"
main()
{
return 0;
}
Это основная программа.
Создаю отдельный модуль в нем создаю функцию:
float func1(float x)
{
float cl=0,y=0,e=0.000001;
int j=0;
cl=x;
j=3;
do
{
y=y+cl;
cl=-cl*x*j/(j+5);
j=j+4;
} while(fabs(cl)>e);
return y;
}
компилю, пишет ошибку в модуле modul.c : multiple definition of "func1" line 5
first defined here line 5
Получается я несколько раз обьявил функцию func1 но я то ее обьявил один раз, что нге так?
Другие языки программирования и технологии
Вопрос по СИ (внутри)
Создай modul.h, с объявлением функции:
------------------------
float func1(float x);
------------------------
В главном файле:
------------------------
#include <conio.h>
#include "modul.h"
main()
...
------------------------
Или просто удали modul.c из проекта.
Update:
> это ты мне про с++ пишешь а у меня си, тут модули подключаются сразу с .c
Идиоты может и сразу .с подключают.
Поэтому у них функция получается определенной два раза.
> #include <stdio.h>
> #include <stdlib.h>
> #include <conio.h>
Вот же заголовочные файлы подключены. Не верь глазам своим?
Если хочешь таки оставить #include "module.c", то это я для кого писал:
Или просто удали modul.c из проекта.
Если ты компилируешь из командной строки (работаешь без IDE) и делаешь примерно так:
gcc main.c module.c -o myprog
То вместо этого надо просто:
gcc main.c -o myprog
Почитай, как работает препроцессор языка и глупости больше не пиши.
------------------------
float func1(float x);
------------------------
В главном файле:
------------------------
#include <conio.h>
#include "modul.h"
main()
...
------------------------
Или просто удали modul.c из проекта.
Update:
> это ты мне про с++ пишешь а у меня си, тут модули подключаются сразу с .c
Идиоты может и сразу .с подключают.
Поэтому у них функция получается определенной два раза.
> #include <stdio.h>
> #include <stdlib.h>
> #include <conio.h>
Вот же заголовочные файлы подключены. Не верь глазам своим?
Если хочешь таки оставить #include "module.c", то это я для кого писал:
Или просто удали modul.c из проекта.
Если ты компилируешь из командной строки (работаешь без IDE) и делаешь примерно так:
gcc main.c module.c -o myprog
То вместо этого надо просто:
gcc main.c -o myprog
Почитай, как работает препроцессор языка и глупости больше не пиши.
Запомни раз и навсегда: тут нет телепатов, а если ты врешь - то от этого хуже будет только тебе.
Ты привел не весь файл modul.c, в 5-й строчке того, что ты привел нету func1. Давай весь файл.
Да, и к вопросу "включать c или h, на c или c++" - c и c++ дают замечательные возможности для быдлокодерства, вроде включения в файл другого. Хороший тон - добавлять только заголовки, но никакого отношения к тому, C это или C++, нет.
Ты привел не весь файл modul.c, в 5-й строчке того, что ты привел нету func1. Давай весь файл.
Да, и к вопросу "включать c или h, на c или c++" - c и c++ дают замечательные возможности для быдлокодерства, вроде включения в файл другого. Хороший тон - добавлять только заголовки, но никакого отношения к тому, C это или C++, нет.
походу она у тебя табуляцией далеко вправо ушла ИМХО
Похожие вопросы
- Вопрос от начинающего ))) Список вопросов (питон, Си и в принципе работа ПК) (Мало что понимаю)
- простенький вопрос по Си....
- Вопрос по Си
- вопрос по си
- Вопрос по Си. if ((i++)==10) и i++ if (i==10) будет ли первый пример работать быстрее чем второй?
- Народ, помогите, по вопросу языка СИ, команды fgets!
- Вопрос по програмированию (внутри)
- Народ подскажите вопрос про фотошоп внутри
- Серьёзный вопрос,более подробно внутри!!!
- Еще раз вопрос про активацию внутри.