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

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

Войти
Регистрация
Восстановить пароль
 
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
#1

Поля битов - C++

27.04.2012, 23:05. Просмотров 760. Ответов 1
Метки нет (Все метки)

Не могу разобраться в полях. Пытаюсь создать структуру полей битов для хранения даты какого-нибудь события. Две функции: 1-я устанавливает дату, 2 - выводит. Ошибка появилась уже на первой функции.
Такой код
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
#include <iostream>
 
using namespace std;
 
struct Date
{
    unsigned y: 8;
    unsigned m: 4;
    unsigned d: 5;
};
 
void SetDate(Date *); // устанавливает дату
void GetDate(const Date *); // выводит дату
 
int main()
{
    Date date;
    Date *pstruct = &date;
    SetDate(pstruct);
}
 
void SetDate(Date *p)
{
    cin >> p->y;
    cin >> p->m;
    cin >> p->d;
}
C++
1
2
3
4
5
In function 'void SetDate(Date*)':|
|24|error: cannot bind bitfield 'p->Date::y' to 'unsigned int&'|
|25|error: cannot bind bitfield 'p->Date::m' to 'unsigned int&'|
|26|error: cannot bind bitfield 'p->Date::d' to 'unsigned int&'|
||=== Build finished: 3 errors, 0 warnings ===|
Ничего не пойму, что от меня хотят и чего они там не могут связать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2012, 23:05     Поля битов
Посмотрите здесь:

Объединения, поля битов, перечисления - C++
всем доброго времени суток есть у меня задача затрудняюсь сделать сам вот само задание Перевести целое положительное двухбайтное число из...

Обнуление битов - C++
Дано целые числа N и k. Обнулите у числа N его последние k бит и выведите результат. Рекомендуется сделать эту задачу без использования...

Подсчет битов - C++
На входе даны 2 последовательности по 8 бит IN_0, IN_1. OUT_0 изначально равен 0. Если в IN_0 встречаются 2 единицы, идущие...

Перестановка битов - C++
Помогите пожалуйста в файле задание

Обнуление битов - C++
Вечер добрый, народ. Очень нужна ваша помощь. Есть задача: Написать функцию, указанную в задании, используя только операции над...

Шифрация битов - C++
пyтём смeны мeстaми 0-гo и 1-гo битoв, 2-гo и 3-гo, … , 30-гo и 31-гo битoв. Фyнкция дoлжнa принимaть в кaчeствe пaрaмeтрa пeрeмeннyю...

Замена битов - C++
Ввести последовательность из 8 символов. В каждом из символов в их двоичном представлении заменить: для нечетных (по порядку) символов...

Копирование битов - C++
Задача: Вот ее решение: int copy_bits( int A, int B, int startBit, int stopBit) //Post 999 { /* Биты считаем с нулевого,...

Установка битов - C++
Установка битов Для этого надо сложить операцией «ИЛИ» x с маской, у которой единицы в соответствующих позициях. Например, чтобы...

Сброс битов - C++
Вот такое условие. &quot;Если в числе x установлен бит n и установлен бит m, то в числе y сбросить биты 3 и самый старший бит.&quot; Логически...

Вычленение битов - C++
Здраствуйте, такая проблема, я получаю из LPT порта данные в обычном децимальном измерении, как мне это число перевести в бинарное?...

Замена битов - C++
Помогите решить задачу, пожалуйста. Ввести последовательность из 8 символов. Если символ есть + - * / %, то заменить в нём четыре младших...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
28.04.2012, 00:23     Поля битов #2
C++
1
2
3
4
5
6
7
8
9
10
void SetDate(Date *p)
{
    unsigned int tmp;
    cin >> tmp;
    p->y = tmp;
    cin >> tmp;
    p->m = tmp;
    cin >> tmp;
    p->m = tmp;
}
Ответ Создать тему
Опции темы

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