Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.90
RUvik
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 16
#1

Ошибки с инклюдами.... - C++

24.04.2010, 20:46. Просмотров 2742. Ответов 19
Метки нет (Все метки)

заранее спасибо всем откликнувшимся ....

у меня компилятор ругается ...
3 ошибки

1> main.cpp
1>c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\function.cpp(4): fatal error C1014: too many include files : depth = 1024
1> function.cpp
1>c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\function.cpp(4): fatal error C1014: too many include files : depth = 1024
1> class.cpp
1>c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\class.cpp(2): fatal error C1014: too many include files : depth = 1024

main.cpp
C++
1
2
3
4
5
6
7
8
9
#include "class.cpp"
 
void main()
{
    cout<<"hello world";
    double ftmin;
    cin>>ftmin;
    input_tmin(ftmin); // вообще надо так инициализацию проводить ?
}
class.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "function.cpp"
using namespace std;
 
struct gabarit
{
    double dlina;
    double shirina;
    double visota;
};
class laba
{
public: 
    gabarit razmer;
    double tmin;
    double tmax;
    //char *name; 
    laba();
    //laba(char nick, double fdlina, double fshirina, double fvisota, double ftmin, double ftmax);
 
//  void input_name(char nick);
    //char output_name();
    
    void input_dlina(double fdlina);
    double output_dlina();
 
    void input_shirina(double fshirina);
    double output_shirina();
 
    void input_visota(double fvisota);
    double output_visota();
 
    void input_tmin(double ftmin);
    double output_tmin();
 
    void input_tmax(double ftmax);
    double output_tmax();
}

function.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <string.h>
 
#include "class.cpp"
 
using namespace std;
 
    laba::laba()
    {
    }
    /*void laba::input_name(char nick)
    {
        stricmp(nick,name);
    }
    char laba::output_name()
    {
        return name;
    }*/
    
    void laba::input_dlina(double fdlina)
    {
        razmer.dlina=fdlina;
    }
    double laba::output_dlina()
    {
        return razmer.dlina;
    }
 
    void laba::input_shirina(double fshirina)
    {
        razmer.shirina=fshirina;
    }
    double laba::output_shirina()
    {
        return razmer.shirina;
    }
 
    void laba::input_visota(double fvisota)
    {
        razmer.visota=fvisota;
    }
    double laba::output_visota()
    {
        return razmer.visota;
    }
 
    void laba::input_tmin(double ftmin)
    {
        tmin=ftmin;
    }
    double laba::output_tmin()
    {
        return tmin;
    }
 
    void laba::input_tmax(double ftmax)
    {
        tmax=ftmax;
    }
    double laba::output_tmax()
    {
        return tmax;
    }





и ещё такой вопрос.... как правильно реализовать ....

C++
1
2
3
4
5
6
7
8
    /*void laba::input_name(char nick)
    {
        stricmp(nick,name);
    }
    char laba::output_name()
    {
        return name;
    }*/

Заранее всем спасибо =)

и как правильно инициализировать объекты класса ?)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2010, 20:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибки с инклюдами.... (C++):

#include <list> - конфликт using namespace std с другими инклюдами - C++
Всем привет. Появилась надобность использовать списки, однако #include &lt;list&gt; подключается только вместе с using namespace std. Мои...

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в данной программе (известно что есть только 2 ошибки) - Assembler
У меня в модуле с програмирования задание: Найти ошибки в данной программе (известно что есть только 2 ошибки) .model small .data ...

Ошибки после компиляции на Visual Express 2012.Ошибки в теме - Visual C++
Добрый вечер ребят помогите пожалуйста.Программа написана на Visual Express 2012.Обясните что поменять чтобы зароботало. После компиляции...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.04.2010, 20:57 #2
из class.cpp удалите
C++
1
#include "function.cpp"
из function.cpp удалите #include <iostream>
в файл main.cpp добавьте
C++
1
#include <iostream>
RUvik
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 16
24.04.2010, 21:04  [ТС] #3
извиняюсь конечно...
но разве не так...

Допустим у нас есть 4 файла...

2
/
1-
\
3 - 4

в 1ом... Мы открываем 2-ой и 3-ий...
в 3ем... Мы открываем 4-ый...
а в 4-ом Инклюд Иострим...

разве иострим не будет работать в первом ?
там же как бы по дереву вроде.... (или я что-то не то несу ?)
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.04.2010, 21:10 #4
RUvik, для начала в class.cpp вы подключили function.cpp, в котором подключили class.cpp. Вам не кажется это бесконечным циклом?
Я думаю, что стоит подключать библиотеки в тех файлах, в которых они необходимы, а не рассчитывать на велосипед из других файлов
RUvik
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 16
24.04.2010, 21:22  [ТС] #5
Извините... вы правы =)

Добавлено через 8 минут
1> main.cpp
1>c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\class.cpp(4): error C2011: 'gabarit' : 'struct' type redefinition
1> c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\class.cpp(4) : see declaration of 'gabarit'
1> function.cpp
1>c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\function.cpp(26): error C2628: 'laba' followed by 'void' is illegal (did you forget a ';'?)
1>c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\function.cpp(27): error C2556: 'laba laba::input_dlina(double)' : overloaded function differs only by return type from 'void laba::input_dlina(double)'
1> c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\class.cpp(22) : see declaration of 'laba::input_dlina'
1>c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\function.cpp(27): error C2371: 'laba::input_dlina' : redefinition; different basic types
1> c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\class.cpp(22) : see declaration of 'laba::input_dlina'
1> class.cpp
1>c:\documents and settings\саша\мои документы\visual studio 2010\projects\laba 1\laba 1\class.cpp(37): fatal error C1004: unexpected end-of-file found

эмм.... никак не могу разобраться с Еррорами.... =(
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.04.2010, 21:27 #6
В файле class.cpp поставьте после последней скобки класса } точку с запятой
RUvik
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 16
24.04.2010, 21:34  [ТС] #7
спасибо.... только у меня теперь под 50 ошибок =(((
и все похожего типа...
error C2027: use of undefined type 'laba'

на этой строчке

C++
1
2
3
4
double laba::output_tmax()
    {
        return laba::tmax;  // тут ошибка
    }
как бороться с ошибками такого рода ?
может сделать объекты класса статическими ?
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
24.04.2010, 21:53 #8
return tmax;
RUvik
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 16
24.04.2010, 22:11  [ТС] #9
тоже ругается...
думал если укажу класс.... успокоится.....
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
24.04.2010, 22:17 #10
Цитата Сообщение от RUvik Посмотреть сообщение
тоже ругается...
что значит "тоже", что пишет?
RUvik
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 16
24.04.2010, 22:46  [ТС] #11
error C2065: 'tmax' : undeclared identifier
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.04.2010, 22:48 #12
RUvik, перепишите заново имя переменной tmax в классе и в методах. Скорее всего где-то была введена кириллическая буква 'а' вместо латинской
RUvik
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 16
24.04.2010, 22:57  [ТС] #13
тогда почему когда я навожу на tmax , мне выдает что double laba::tmax

(сижу через VS 2010 Ultimate)
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.04.2010, 23:46 #14
RUvik, сложно сказать что у вас там происходит со студией, поставьте лучше стабильную версию, например 2008, но у меня все работает http://codepad.org/c2SFWbXa
RUvik
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 16
25.04.2010, 09:42  [ТС] #15
спасибо... в одном файле всё работает....
как только на несколько Срр файлов разбиваю.... сразу летит =(((


кстати, извиняюсь.... но у меня такой вопрос... нигде найти не могу..........

допустим у нас есть
int a;
cin>>a;
(вводим не число, а символы....)
после чего летит программа.....

как с таким счастьем бороться ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2010, 09:42
Привет! Вот еще темы с ответами:

Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы - C# ASP.NET
Начал изучение ASP. Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы... А мне ОЧЕНЬ хотелось бы почитать, что...

Windows XP на HP compaqt 6220 ошибки при установке, как убить эти ошибки - Windows XP
Всех приветствую уважаемые Комрады ,форумчане не проходите мимо помогите откликнитесь мучаюсь уже с месяц попробывал всё что можно ...

Не удалось инициализировать SAM из-за следующей ошибки: Присоединенное к системе устройство не работает. Состояние ошибки: 0xc0000001 - Windows XP
Добрый день форумчане. На работе одна женщина после месяца отпуска напрочь забыла пароль от своей учетной записи (она сидела на...

Ошибки при компиляции - исправить ошибки в коде - C (СИ)
Помогите исправить ошибки , не понимаю в чем может быть причина ... #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.04.2010, 09:42
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru