Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2025, 14:54   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 640
Счастье E0065. Требуется точка с запятой ";"

Зравствуйте!
Подскажите, пожалуйста, почему компилятор требует точку с запятой - ;?
Изображения
Тип файла: jpg 2025-05-12_15-42-07.jpg (90.7 Кб, 4 просмотров)

Последний раз редактировалось Женя32; 12.05.2025 в 16:21.
Женя32 вне форума Ответить с цитированием
Старый 12.05.2025, 17:30   #2
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 640
По умолчанию

Может в реализации метадов класса что-то ни так?

Код:
#include "Account.h"

    time::time(void)
	{
		hours = minutes = seconds = 0;
	}

	time::time(ui sec)
	{
		hours = sec / (60 * 60);
		minutes = sec % (60 * 60) / 60;
		seconds = sec % (60 * 60) % 60;
	}

	time::time(ui h, ui m, ui s)
	{
		if (h > 24 || m > 60 || s > 60)
		{
			time::time();
			return;
		}

		hours = h;
		minutes = m;
		seconds = s;
	}

	time::~time(void)
	{

	};

Последний раз редактировалось Женя32; 12.05.2025 в 17:35.
Женя32 вне форума Ответить с цитированием
Старый 12.05.2025, 18:30   #3
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 199
По умолчанию

архив с текстом программы надо посмотреть
DeepFlake вне форума Ответить с цитированием
Старый 12.05.2025, 18:38   #4
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 199
По умолчанию

в файле <time.h> определена функция
time_t time( time_t* arg );

может она в вашей программе как-то путается с классом time ?
DeepFlake вне форума Ответить с цитированием
Старый 12.05.2025, 20:37   #5
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 640
Счастье

Цитата:
Сообщение от DeepFlake Посмотреть сообщение
архив с текстом программы надо посмотреть
Пожалуйста!
Вложения
Тип файла: rar Learning.rar (724.2 Кб, 5 просмотров)
Женя32 вне форума Ответить с цитированием
Старый 12.05.2025, 20:39   #6
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 640
По умолчанию

А вот видеоурок, из которого это код.
https://youtu.be/9HgC2Mek_-0?list=PL...zTiX65gs&t=817
Женя32 вне форума Ответить с цитированием
Старый 12.05.2025, 23:15   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,829
По умолчанию

Вам уже ответили. А если бы вы просто навели мышку на ошибку, то увидели б, что там вызов функции time.

Выкиньте нафик эти уроки, если там учат в С++ писать void в параметрах и писать
Код:
time::time();
p51x вне форума Ответить с цитированием
Старый 14.05.2025, 12:09   #8
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 640
По умолчанию

Приведеденный мной код работает! Всего одно слово дописал. Угадайте, какое и куда?))
Код:
time time::operator+(const time& t) const
{
	time result;
	result.seconds = (seconds+t.seconds)%60;
	result.minutes = (minutes + t.minutes+(seconds + t.seconds) / 60)%60;
	result.hours = (hours + t.minutes+(minutes + t.minutes) / 60);

	return result;
}
Женя32 вне форума Ответить с цитированием
Старый 14.05.2025, 13:55   #9
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 199
По умолчанию

Вот что сообщает компилятор GCC C++ при компиляции вашей программы из архива Learning.rar :

Код:
Main.cpp: In function ‘int main()’:
Main.cpp:19:9: error: expected ‘;’ before ‘t1’
   19 |     time
      |         ^
      |         ;
   20 |         t1(4500);
      |         ~~
Main.cpp:19:5: warning: statement is a reference, not call, to function ‘time’ [-Waddress]
   19 |     time
      |     ^~~~
Main.cpp:19:5: warning: statement has no effect [-Wunused-value]
Account.cpp: In constructor ‘time::time(ui, ui, ui)’:
Account.cpp:24:35: error: cannot call constructor ‘time::time’ directly [-fpermissive]
   24 |                         time::time();
      |                         ~~~~~~~~~~^~
Account.cpp:24:35: note: for a function-style cast, remove the redundant ‘::time’
То есть он показывает две ошибки в вашей программе (error):
Main.cpp:19:9: error: expected ‘;’ before ‘t1’
и
Account.cpp:24:35: error: cannot call constructor ‘time::time’ directly [-fpermissive]
24 | time::time();

Первая ошибка из-за того, что компилятор рассматривает выражение time как ссылку на функцию time, а не класс time:
Main.cpp:19:5: warning: statement is a reference, not call, to function ‘time’ [-Waddress]
19 | time
| ^~~~

А вторая ошибка - понятно - нельзя таким образом вызвать свой же конструктор.
Изображения
Тип файла: jpg Screenshot from 2025-05-14 14-42-10.jpg (55.4 Кб, 0 просмотров)
DeepFlake вне форума Ответить с цитированием
Старый 14.05.2025, 18:33   #10
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 640
По умолчанию

Да, действительно, online-компеляторы почему-то выдают ошибки. Но в Visual Studio все компилируется.
Женя32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо написать "таймер", который будет запускаться при нажатии кнопки "Start", приостанавливаться на "Pause", и сбрасываться на "Reset" billiejean78 JavaScript, Ajax 1 03.09.2021 08:58
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" Бахтиёр1916 Windows 1 05.04.2017 12:53
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23