Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
1

что то не так с компилятором?

24.06.2011, 11:52. Показов 1702. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть класс, который переписан с книги Лафоре Р.

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
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
class time
{
      private:
              int hrs, mins, secs;
      public:
             time() : hrs(0), mins(0), secs(0)
             {}
             time(int h, int m, int s) : hrs(h), mins(m), secs(s)
             {}
             void display();
             void add_time(time t1, time t2);             
};
 
void time::display()
{
     std::cout << hrs << ":" << mins << ":" << secs << "\n";
}
void time::add_time(time t1, time t2)
{
     secs = t1.secs + t2.secs;
     if(secs > 59)
     {
             secs = secs - 60;
             mins++;
     }
     mins = t1.mins + t2.mins;
     if(mins > 59)
     {
             mins = mins - 60;
             hrs++;
     }
     hrs = t1.hrs + t2.hrs;
}
 
int main(int argc, char *argv[])
{
    time time1(5, 59, 59);
    time time2(4,30,30);
    time time3;
    time3.add_time(time1, time2);
    std::cout << "time3 = " << time3.display;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
ошибки:

\projects\1\new.cpp expected `;' before "time1"
\projects\1\new.cpp [Warning] statement is a reference, not call, to function `time'
\projects\1\new.cpp expected `;' before "time2"
.
.
.
что не так??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2011, 11:52
Ответы с готовыми решениями:

Как сделать так чтоб работало? Что с компилятором?
ошибка: No such file or directory #include &lt;iostream&gt; using namespace std; int main()...

что с Компилятором
привет) я конечно понимаю что вопрос нубский но всетаки:p у меня есть 2 компилятора VC++ 5.0 VC++...

что-то с компилятором
Кончилась пробная версия вижуал студио 2012, я не знал что можно продлить её и начал качать другую,...

Что-то с компилятором... Наверное...
# include &lt;iostream&gt; using namespace std; int main(){ int n,a=0,b=0,c=0,t=0; cin&gt;&gt;n; int...

17
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
24.06.2011, 11:53 2
....
а код ?
0
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 12:04  [ТС] 3
co6ak, см. выше
0
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
24.06.2011, 12:09 4
C++
1
2
    std::cout << "time3 = ";
    time3.display();
работает

Добавлено через 42 секунды
получалось
cout << "time3 = " << cout <<.....
1
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 12:13  [ТС] 5
то же самое, а вообще мне кажется что у меня проблемы с конструктором - т.к. почему то ругается на первую строку после main()
0
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
24.06.2011, 12:15 6
хз.
попробуй конструктор по умолчанию задать как
time( int =0, int =0, int =0);
без скобок фигурных всяких. наф они не нужны там.
0
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 12:23  [ТС] 7
в книге автор рекомендует именно со скобочками , хотя после рекомендации он почему то не аргументировал такое решение.
0
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
24.06.2011, 12:28 8
в отдельные файлы определение и реализацию класса вынеси
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
24.06.2011, 12:32 9
grrrrr, ошибка в 45-й строке

Цитата Сообщение от grrrrr Посмотреть сообщение
в книге автор рекомендует именно со скобочками
и правильно делает, если конструктор пустой, чтобы сразу было видно что он пустой

Добавлено через 24 секунды
да и conio.h здесь нафиг не нужен
1
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 12:55  [ТС] 10
и еще вопрос - по классам. При объявлении класса, авторы книг иногда описывают сначала закрытые, а потом открытые элементы или наоборот. Я так понимаю , что разницы нет?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
24.06.2011, 13:19 11
grrrrr, нету
0
Эксперт С++
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
24.06.2011, 13:23 12
grrrrr, разницы нет, но в начале класса можно не писать private: а в начале структуры можно не писать public: так как они подразумеваются по умолчанию.
0
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 13:28  [ТС] 13
ForEveR, ну я так и думал.
а теперь скажите, почему у меня эта прога не компилируется? Только что, разбил на файлы как посоветовал охотник, компилировал в wxDev-cpp.

1.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdlib>
#include <iostream>
 
int main(int argc, char *argv[])
{    
    time time1(5, 59, 59);
    time time2(4,30,30);
    time time3;
    time3.add_time(time1, time2);
    std::cout << "time3 = " << time3.display;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
time1.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef TIME1_H
#define TIME1_H
 
class time
{
      private:
              int hrs, mins, secs;
      public:
            
             time() : hrs(0), mins(0), secs(0)
             {}
             time(int h, int m, int s) : hrs(h), mins(m), secs(s)
             {}
             void display();
             void add_time(time t1, time t2);             
};
 
#endif
time1.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
#include <iostream>
#include "time1.h"
 
void time::display()
{
     std::cout << hrs << ":" << mins << ":" << secs << "\n";
}
void time::add_time(time t1, time t2)
{
     secs = t1.secs + t2.secs;
     if(secs > 59)
     {
             secs = secs - 60;
             mins++;
     }
     mins = t1.mins + t2.mins;
     if(mins > 59)
     {
             mins = mins - 60;
             hrs++;
     }
     hrs = t1.hrs + t2.hrs;
}
может кто подскажет? Ну или у кого компилируется, напишите какой у вас компилятор.
ЗЫ. Пробовал компилировать другие проекты с классами- все норм.
0
Эксперт С++
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
24.06.2011, 13:33 14
time1.h надо подключать во всех модулях .cpp, где используется класс time

Добавлено через 1 минуту
Ну и ошибка в строке 10 файла 1.cpp так и не была исправлена
1
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
24.06.2011, 13:34 15
Не советую я так класс называть. Или в namespace хоть завертывайте.
2
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 13:41  [ТС] 16
ForEveR, точно!!! теперь вот ошибка одна ошибка:

47 C:\Dev-Cpp\projects\1\new.cpp statement cannot resolve address of overloaded function

ругается на 2 строку

C++
1
2
std::cout << "time3 = ";
time3.display;
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
24.06.2011, 13:45 17
grrrrr, Ну дык это ж вызов функции все таки. Скобки забыли.
1
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 13:49  [ТС] 18
Все работает! Спасибо!
0
24.06.2011, 13:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2011, 13:49
Помогаю со студенческими работами здесь

есть ошибки в программе, может что то с компилятором у меня, подскажите пожалуйста.
Программа для решения обычных уравнений методом адамса, не работает.... 3 ошибки здесь: #include...

Что не так с кодом? ( пытаюсь понять, что не так? )
Есть исходный код. Hook, работает хорошо, но есть минус огромный - перестаёт писать в лог, при...

И так, что не так с моим запросом на добавление записи в таблицу?
$sql = 'INSERT INTO product ' . '(name, code, price, category_id, brand,...

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее?
Вот код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(){ float...

Что в коде ни так? while не работает так, как ожидаю
Написанный код, как я думаю, должен выдавать цифры от 0 до 1000, столбиком. Но выдает начиная от...

сегодня так можно сказать праздник так что...
простите меня за все пожалуйста!!!


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru