Форум программистов, компьютерный форум, киберфорум С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 3
Регистрация: 18.04.2014
Сообщений: 118

Как исправить ошибку if(auto const& (val: stime))

28.09.2014, 12:13. Показов 930. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Строка 46 if(auto const& (val: stime))

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <stdexcept>
#include <locale>
#include <cstdlib>
#include <string>
#include <sstream>
 
class Time
{
public:
    typedef unsigned short ushort;
    Time(ushort hs, ushort ms, ushort ss)
    {
        set_time(hs, ms, ss);
    }
 
    explicit Time(size_t ss = 0)
    {
        set_time(ss);
    }
 
    explicit Time(std::string const& stime)
    {
        set_time(stime);
    }
 
    void set_time(ushort hs, ushort ms, ushort ss)
    {
        _hs = hs;
        _ms = ms;
        _ss = ss;
        check();
    }
 
    void set_time(size_t ss)
    {
        _hs = ss / 3600;
        _ms = (ss % 3600) / 60;
        _ss = (ss % 3600) % 60;
        check();
    }
 
    void set_time(std::string const& stime) // "23:59:59"
    {
        std::stringstream sstr;
        for(auto const& val: stime)
            sstr << (val == ':' ? ' ' : val);
        sstr >> _hs >> _ms >> _ss;
        if(!sstr || !sstr.eof())
            throw std::runtime_error("Time::set_time: !sstr || !sstr.eof()");
        check();
    }
 
    friend std::ostream& operator<<(std::ostream& ost, Time const& rhs)
    {
        return ost << rhs._hs << ':' << rhs._ms << ':' << rhs._ss;
    }
 
    operator std::string() const
    {
        std::stringstream sstr;
        sstr << _hs << ':' << _ms << ':' << _ss;
        return sstr.str();
    }
 
private:
    ushort _hs, _ms, _ss;
    void check() const
    {
        if(_hs >= 24  || _ms >= 60 || _ss >= 60)
            throw std::runtime_error("Time::check: _hs >= 24  || _ms >= 60 || _ss >= 60");
    }
};
 
int main()
{
    setlocale(LC_ALL, "rus");
    Time hms1("23:45:40"), hms2(23 * 3600 + 45 * 60 + 41), hms3(23, 45, 42);
    std::string shms3 = hms3;
    std::cout << hms1 << '\n' << hms2 << '\n' << shms3 << "\n\n";
    system("pause");
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2014, 12:13
Ответы с готовыми решениями:

For(auto const& val : stime) .cpp(47) : error C2143: синтаксическая ошибка: отсутствие "," перед ":"
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdexcept&gt; #include &lt;locale&gt; #include &lt;cstdlib&gt; #include &lt;string&gt; #include...

Параметр const T & val = T() в конструкторе шаблонного класса
Добрый день! Начал разбираться с шаблонами и наткнулся на такой пример: template &lt; typename T &gt; struct my_class { ...

Что при присваивается i в for(const auto& i : iVec1) ?
Есть объявление вектора vector&lt;int&gt; iVec1 = {0,1,2,3,4,5}; Почему следующие два варианта цикла выдают одинаковые результаты ? (на...

1
 Аватар для Nevermind_qqq
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
28.09.2014, 12:32
для начала, а то ведь непонятно где строка
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <stdexcept>
#include <locale>
#include <cstdlib>
#include <string>
#include <sstream>
 
class Time
{
public:
typedef unsigned short ushort;
Time(ushort hs, ushort ms, ushort ss)
{
set_time(hs, ms, ss);
}
 
explicit Time(size_t ss = 0)
{
set_time(ss);
}
 
explicit Time(std::string const& stime)
{
set_time(stime);
}
 
void set_time(ushort hs, ushort ms, ushort ss)
{
_hs = hs;
_ms = ms;
_ss = ss;
check();
}
 
void set_time(size_t ss)
{
_hs = ss / 3600;
_ms = (ss % 3600) / 60;
_ss = (ss % 3600) % 60;
check();
}
 
void set_time(std::string const& stime) // "23:59:59"
{
std::stringstream sstr;
for(auto const& val: stime)
sstr << (val == ':' ? ' ' : val);
sstr >> _hs >> _ms >> _ss;
if(!sstr || !sstr.eof())
throw std::runtime_error("Time::set_time: !sstr || !sstr.eof()");
check();
}
 
friend std::ostream& operator<<(std::ostream& ost, Time const& rhs)
{
return ost << rhs._hs << ':' << rhs._ms << ':' << rhs._ss;
}
 
operator std::string() const
{
std::stringstream sstr;
sstr << _hs << ':' << _ms << ':' << _ss;
return sstr.str();
}
 
private:
ushort _hs, _ms, _ss;
void check() const
{
if(_hs >= 24 || _ms >= 60 || _ss >= 60)
throw std::runtime_error("Time::check: _hs >= 24 || _ms >= 60 || _ss >= 60");
}
};
 
int main()
{
setlocale(LC_ALL, "rus");
Time hms1("23:45:40"), hms2(23 * 3600 + 45 * 60 + 41), hms3(23, 45, 42);
std::string shms3 = hms3;
std::cout << hms1 << '\n' << hms2 << '\n' << shms3 << "\n\n";
system("pause");
return 0;
}
Добавлено через 3 минуты
все работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2014, 12:32
Помогаю со студенческими работами здесь

Исправить ошибку 'ios::basic_ios(const ios &)' is not accessible
помогите исправить ошибки пожалуйста код //--------------------------------------------------------------------------- #include...

Что означает строчка кода val = val & 0xF; ?
Что означает строчка кода? val = val &amp; 0xF; Не понятно использование оператора &amp;

Объясните, как исправить ошибку invalid operands of types 'double' and 'const char [2]' to binary 'operator -
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main () { double...

Что означает запись "val & 0xF" val - int
Что означает запись &quot;val &amp; 0xF&quot; val - int.

Как исправить ошибку "cannot convert 'char const[1]' to 'int'"?
подскажите на примере как исправить ошибку. Unit1_RightEndDoor.cpp(1485): E2034 Cannot convert 'char const' to 'int' Full parser...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Сложность Колмогорова: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
PostgreSQL в Kubernetes: Подготовка кластера и настройка
Mr. Docker 20.03.2025
Когда доходит до контейнеризации баз данных и особенно таких требовательных к ресурсам системах как PostgreSQL, многие команды до сих пор колеблются, прежде чем перенести их в контейнерную. . .
C++26: Индексирование пакетов и метапрограммиро­вание
bytestream 20.03.2025
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими. . .
Состояние гонки в C#: подводные камни многопоточного программировани­я
UnmanagedCoder 20.03.2025
Что такое состояние гонки? Это ситуация, когда результат программы непредсказуемо меняется в зависимости от порядка выполнения потоков. Проще говоря, два или более потока пытаются одновременно. . .
Next.js для разработки React: преимущества серверного рендеринга
Reangularity 20.03.2025
Next. js решает классическую проблему React-приложений: медленную первоначальную загрузку и плохую индексацию поисковиками. Вместо того чтобы заставлять браузер пользователя выполнять всю работу по. . .
JUnit или TestNG: Выбираем Java-фреймворк для тестирования
Javaican 20.03.2025
История тестовых фреймворков в Java началась в конце 90-х, когда Кент Бек и Эрих Гамма разработали JUnit - инструмент, который перевернул представление разработчиков о модульном тестировании. JUnit. . .
Разбиваем монолит на два микросервиса и реализуем CI/CD
ArchitectMsa 20.03.2025
Когда команда растет, а функциональность монолита расширяется, поддерживать и развивать такую систему становится все труднее. Разработчики начинают тратить много времени на разбор сложных. . .
Python и PDF: Создание и редактирование файлов
py-thonny 20.03.2025
Работа с PDF-документами – одна из популярных задач в современной разработке. Python предлагает несколько инструментов для создания, чтения и редактирования PDF-файлов, среди которых особенно. . .
Корутины в Unity и производительно­сть WaitForSeconds
GameUnited 20.03.2025
Разработчики игр на Unity часто сталкиваются с вопросом: как выполнять действия через определённые промежутки времени, не блокируя основной поток игры? Тут как раз и приходят на помощь корутины —. . .
Криптография в PHP
Jason-Webb 20.03.2025
PHP предоставляет много криптографических возможностей: от встроенных функций хеширования до полноценных библиотек шифрования — арсенал средств довольно обширен. Но всё это бесполезно без понимания. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер