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

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Круг
Сообщения: 23
Зарегистрирован: 05 мар 2010, 11:33

есть программа:

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

#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: непредвиденное обнаружение конца файла) ..может кто нить знает что нужно сделать?!
Аватара пользователя
rrrFer
Сообщения: 237
Зарегистрирован: 07 сен 2008, 14:15
Контактная информация:

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

#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
фигурных скобок как минимум нехватает
Приглашаю на свой блог о программировании: pro-prof.com
Аватара пользователя
rrrFer
Сообщения: 237
Зарегистрирован: 07 сен 2008, 14:15
Контактная информация:

наверно правильнее так тоесть:

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

float func2 (float c,float d){
    return
#ifdef TYPE
    (float) func1,(int) c,(int) d;
#else 
    func1 (c,d);
#endif
}
хотя не проверял
Приглашаю на свой блог о программировании: pro-prof.com
Круг
Сообщения: 23
Зарегистрирован: 05 мар 2010, 11:33

rrrFer писал(а):наверно правильнее так тоесть:

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

float func2 (float c,float d){
    return
#ifdef TYPE
    (float) func1,(int) c,(int) d;
#else 
    func1 (c,d);
#endif
}
хотя не проверял
елси делать так, то появляется ошибка error C3861: func1: идентификатор не найден
Круг
Сообщения: 23
Зарегистрирован: 05 мар 2010, 11:33

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: непредвиденное обнаружение конца файла
Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

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

#include "func.cpp"
#include "func2.cpp"
За это руки отрывать надо, даже если компилятор и позволяет
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

BulldozerBSG писал(а):За это руки отрывать надо, даже если компилятор и позволяет
Полностью поддерживаю и от души жму тебе оба ковша! :)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Круг
Сообщения: 23
Зарегистрирован: 05 мар 2010, 11:33

Ребят, я понимаю что все это выглядит дико и ужасно.. но по заданию мне именно и нужно чтобы было func.cpp и func2.cpp..
Я понимаю что func2 не знает о существовании func1... я не об этом спрашивала.. я спрашивала как избавиться от ошибок... кто нить может дать дельный совет по этому поводу?!
IceFlame
Сообщения: 62
Зарегистрирован: 29 ноя 2009, 03:54

В файл func2.cpp включить файл func.cpp, а в главный файл программы включить func2.cpp.
Все равно непонятно, чему там вас учат %)
Ответить