Страница 2 из 2
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 10 мар 2010, 08:00
Круг
сделала... ошибка C1004: непредвиденное обнаружение конца файла все равно осталась.. я щас уже с ума сойду..
да программирование это вообще не по моей специальности.. я не понимаю зачем нам поставили его в учебный план вообще?! ((
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 10 мар 2010, 08:12
Круг
error LNK2005: "float __cdecl func1(float,float)" (?func1@@YAMMM@Z) уже определен в func.obj
error LNK2005: "float __cdecl func2(float,float)" (?func2@@YAMMM@Z) уже определен в func2.obj
error LNK1169: обнаружен многократно определенный символ - один или более
что это за страшные вещи?!
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 10 мар 2010, 12:55
IceFlame
func2.cpp исправить следующим образом
Код: Выделить всё
#include "stdafx.h"
#include <math.h>
#include "func.cpp"
float func2 (float c,float d)
#ifdef TYPE
{return (float) func1((int) c,(int) d);}
#else
{return func1 (c,d);}
#endif
Ошибка вываливается потому, что у вас два раза включен один и тот же файл.
Поэтому в главный файл надо включить ТОЛЬКО func2.cpp:
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 11 мар 2010, 11:32
Albor
файл func.h
Код: Выделить всё
#ifdef TYPE
int func1 (int a, int b);
#else
float func1 (float a, float b);
#endif
файл func.cpp
Код: Выделить всё
#include "func.h"
#ifdef TYPE
int func1 (int a, int b){ return a*a + b*b; }
#else
float func1 (float a, float b) {return a*a + b*b;}
#endif
файл func2.h
файл func2.cpp
Код: Выделить всё
#include "func2.h"
#include "func.h"
float func2 (float c,float d)
#ifdef TYPE
{return (float) func1,(int) c,(int) d;}
#else
{return (float)func1 (c,d);}
#endif
файл main.cpp
Код: Выделить всё
#include <iostream.h>
#include "func2.h"
#include "func.h"
void main()
{
float a,b;
cout<<"Введите значения a и b";
cin>>a>>b;
func1(a,b);
func2(a,b);
}
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 11 мар 2010, 11:44
Круг
отлично ошибок нет, но теперь нет возврата а*а+b*b! ((
не происходит вызов функции насколько я понимаю ((
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 11 мар 2010, 13:00
Romeo
По какому принципу решил, что возврата нету? Куда должен быть возврат? На экран? А на экран ты ничего и не выписывала. Ты только функцию вызвала.
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 11 мар 2010, 18:53
Albor
Круг писал(а):отлично ошибок нет, но теперь нет возврата а*а+b*b! ((
не происходит вызов функции насколько я понимаю ((
Вызов функции происходит и она возвращает значение, в данном случае в "никуда". Нет вывода результата её работы.
так можно увидеть рехультат func1:
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 15 мар 2010, 08:36
Круг
огромное спасибо ))) заработало )))
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 15 мар 2010, 08:42
Круг
что значит составить программу, демонстрирующую все этапы условной компиляции?!
кто нить может объяснить и/или продемонстрировать как это?!
Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!
Добавлено: 15 мар 2010, 12:53
Romeo
Подозреваю, что именно этим ты и занималась раньше, разбираясь описанной ранее программой. Условная компиляция как реализована в языке С++ следующими директивами препроцессора: #if, #ifdef, #ifndef, #else, #endif.