Страница 1 из 2

fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 09 мар 2010, 11:28
Круг
есть программа:

Код: Выделить всё

#include "stdafx.h"
#include "iostream"
using namespace std;

#include "intctype.h"
#include "func.cpp"
#include "func2.cpp"


int main ()
{
	float a,b;
	cout<<"Введите значения a и b";
	cin>>a>>b;
	func1(a,b);
	func2(a,b);
	return 0;
}
в func.cpp пишем:

Код: Выделить всё

#include "stdafx.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.cpp пишем:

Код: Выделить всё

#include "stdafx.h"
#include <math.h>
float func2 (float c,float d)
#ifdef TYPE
{return (float) func1,(int) c,(int) d;}
#else return func1 (c,d);
#endif
не могу устранить ошибку (fatal error C1004: непредвиденное обнаружение конца файла) ..может кто нить знает что нужно сделать?!

Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 09 мар 2010, 12:38
rrrFer

Код: Выделить всё

#include "stdafx.h"
#include <math.h>
float func2 (float c,float d)
#ifdef TYPE
{return (float) func1,(int) c,(int) d;}
[B]#else return func1 (c,d);[/B]
#endif
фигурных скобок как минимум нехватает

Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 09 мар 2010, 12:44
rrrFer
наверно правильнее так тоесть:

Код: Выделить всё

float func2 (float c,float d){
    return
#ifdef TYPE
    (float) func1,(int) c,(int) d;
#else 
    func1 (c,d);
#endif
}
хотя не проверял

Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 09 мар 2010, 12:47
Круг
rrrFer писал(а):наверно правильнее так тоесть:

Код: Выделить всё

float func2 (float c,float d){
    return
#ifdef TYPE
    (float) func1,(int) c,(int) d;
#else 
    func1 (c,d);
#endif
}
хотя не проверял
елси делать так, то появляется ошибка error C3861: func1: идентификатор не найден

Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 09 мар 2010, 12:48
Круг
rrrFer писал(а):

Код: Выделить всё

#include "stdafx.h"
#include <math.h>
float func2 (float c,float d)
#ifdef TYPE
{return (float) func1,(int) c,(int) d;}
[B]#else return func1 (c,d);[/B]
#endif
фигурных скобок как минимум нехватает
не помогает все равно fatal error C1004: непредвиденное обнаружение конца файла

Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 09 мар 2010, 13:08
Albor
А что, нельзя определить func1 и func2 в одном файле с фуекцией main()? А то include"func.cpp" выглядит дико. Распиши свой код без #ifdef если определён TYPE и если нет и сразу увидишь то что видит компилятор.
елси делать так, то появляется ошибка error C3861: func1: идентификатор не найден
Конечно, от куда (из какой строки своего кода) модуль func2.cpp знает о существовании func1()?

Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 09 мар 2010, 19:51
BulldozerBSG
#include "func.cpp"
#include "func2.cpp"
За это руки отрывать надо, даже если компилятор и позволяет

Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 09 мар 2010, 23:52
Romeo
BulldozerBSG писал(а):За это руки отрывать надо, даже если компилятор и позволяет
Полностью поддерживаю и от души жму тебе оба ковша! :)

Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 10 мар 2010, 07:13
Круг
Ребят, я понимаю что все это выглядит дико и ужасно.. но по заданию мне именно и нужно чтобы было func.cpp и func2.cpp..
Я понимаю что func2 не знает о существовании func1... я не об этом спрашивала.. я спрашивала как избавиться от ошибок... кто нить может дать дельный совет по этому поводу?!

Re: fatal error C1004: непредвиденное обнаружение конца файла что делать?!

Добавлено: 10 мар 2010, 07:56
IceFlame
В файл func2.cpp включить файл func.cpp, а в главный файл программы включить func2.cpp.
Все равно непонятно, чему там вас учат %)