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

Ошибка error C2070: 'unsigned int': illegal sizeof operand - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запутался с циклами http://www.cyberforum.ru/cpp-beginners/thread20321.html
хочу что подпрограмка при вводе m=6 выводила 0123 0124 ...
C++ (char)xx и '\xx' - в чём разница? День добрый. Просто любопытно, почему cout << (char)число; и cout << '\число'; часто дают разный результат? http://www.cyberforum.ru/cpp-beginners/thread20310.html
C++ Опять завал!!!
Данна матрица А нужно переписать ее в матрицу В так, чтобы сначала были все положительные числа, а потом все отрицательные, матрицу задать через random.:wall::wall::wall:
C++ Найти максимальный по площади выпуклый четырехугольник, который можно организовать из точек на плоскости
В двухмерном пространстве задается некоторое количество точек . Нужно найти максимальный по площади выпуклый четырехугольник, которых из этих точек можно организовать. з.ы. буду очень благодарен...
C++ Решить задачу на C++ http://www.cyberforum.ru/cpp-beginners/thread20271.html
Пожалуйста! Очень срочно! Помогите. Нужно решить задачу на C++. Необходимо решить только под номером 24 в прикрепленном изображении. Спасибо! К сожалению размер изображения превышает необходимого...
C++ Программа на С++ Задача.Ввести с клавиатуры число и перевернуть его «физически» (например, число 2356 станет числом 6532). Я так понимаю, что следует ввести последовательность чисел. Например от 1 до... подробнее

Показать сообщение отдельно
seravr
1 / 1 / 0
Регистрация: 11.11.2008
Сообщений: 34

Ошибка error C2070: 'unsigned int': illegal sizeof operand - C++

06.01.2009, 02:02. Просмотров 1139. Ответов 4
Метки (Все метки)

Собственно, есть пара вопросов (смотреть в комментариях). Помогите разобраться пожалуйста

Заранее спасибо Всем

Пример части кода:

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
#include<iostream>
 
using std::cin;
using std::cout;
using std::endl;
using std::hex;
using std::dec;
 
#pragma pack(2)
 
void typeOutDWORD(const DWORD name);
void typeOutHexDWORD(const DWORD name);
 
union DWORD  
{
    unsigned long word;
    struct BYTE
    {
        unsigned lowBit:16;
        unsigned HighBit:16;
    } byte;
};
 
int main ()
{
    DWORD Name;
 
    cout<<"Size DWORD="<<sizeof(DWORD)<<endl;    //выводит Size DWORD=4
    cout<<"Size word="<<sizeof(Name.word)<<endl; //выводит Size word==4
    cout<<"Size byte"<<sizeof(Name.byte)<<endl;  //выводит Size byte=4
 
//  Вопрос №1:
 
//  если я хочу узнать размер Name.byte.lowBit || Name.byte.HighBit путем
 
//  cout<<"Size byte"<<sizeof(bmpName.byte.HighBit)<<endl
 
//  cout<<"Size byte"<<sizeof(bmpName.byte.lowBit)<<endl
 
// VS2008  пишет: error C2070: 'unsigned int': illegal sizeof operand
// собственно, прошу помочь разобраться в ошибке и понять, как правильно мне // определить размер элемента структуры объединения
 
// Вопрос №2:
 
// заполняю поля структуры
bmpName.byte.HighBit='B';
bmpName.byte.lowBit='M';
 
 
typeOutDWORD(bmpName);// выводит BM
cout<<endl;
typeOutHexDWORD(bmpName);// выводит 424d
 
// но если я хочу сразу вывести содержимое путем
 
cout<<bmpName.word<<endl; 
 
// выводит 42004d подскажите почему? Так должно быть?
// Как мне вывести просто 424d? Откуда беруться нули?
 
return 0;
}
 
// функция вывода на экран содержимого DWORD в формате 0xff
void typeOutHexDWORD(const DWORD name)
{
    cout<<hex<<name.byte.HighBit
        <<name.byte.lowBit<<"\n";
}
 
 
// функция вывода на экран содержимого DWORD в формате ASCII
void typeOutDWORD(const DWORD name)
{
    cout.put(name.byte.HighBit);
    cout.put(name.byte.lowBit);
}
Добавлено через 3 минуты 50 секунд
Извините, ошибочку сделал, в коде вместо bmpName должно просто Name(не могу редактировать сообщение)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru