|
C++ и массивы констант., А в чистом C работало ... |
|
|
|
Dec 9 2009, 07:49
|

Местный
  
Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382

|
Есть следующий код: Код typedef union { uint32_t p; float f; } tUnion; typedef struct { uint8_t type; uint8_t info[4]; tUnion u; } tItem; const tItem i[] = { {2, {1,2,4,2}, .u.f=1.5}, {1, {2,2,4,2}, .u.p=10}, {2, {3,2,4,2}, .u.f=2.3} }; В чистом C замечательно компилируется и работает. А вот как написать подобное в C++?
|
|
|
|
|
 |
Ответов
|
Dec 17 2009, 07:00
|
Участник

Группа: Свой
Сообщений: 60
Регистрация: 8-11-05
Пользователь №: 10 602

|
Вот так попробуй. Код typedef unsigned char uint8_t; typedef unsigned long uint32_t;
union tUnionDat { uint32_t p; float f; tUnionDat(float a) { f = a; } tUnionDat(uint32_t a) { p = a; } };
typedef struct { uint8_t type; uint8_t info[4]; tUnionDat u; } tItem;
const tItem Item[] = { {2, {1,2,4,2}, (float)1.5}, {1, {2,2,4,2}, (uint32_t)10}, {2, {3,2,4,2}, (float)2.3} };
|
|
|
|
|
Dec 17 2009, 07:14
|

читатель даташитов
   
Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999

|
Цитата(alekseykoj @ Dec 17 2009, 09:00)  Код {2, {1,2,4,2}, (float)1.5}, {1, {2,2,4,2}, (uint32_t)10}, Можно 1.5f и 10u.
|
|
|
|
Сообщений в этой теме
Terminator C++ и массивы констант. Dec 9 2009, 07:49 Methane Цитата(Terminator @ Dec 9 2009, 09:49) Ес... Dec 9 2009, 08:01 Terminator Цитата(Methane @ Dec 9 2009, 14:01) В плю... Dec 9 2009, 08:07  Methane Цитата(Terminator @ Dec 9 2009, 10:07) Ну... Dec 9 2009, 08:13   VladimirYU Кодstruct TItem
{
..........
};
const TItem Item
... Dec 9 2009, 08:29    Terminator Цитата(VladimirYU @ Dec 9 2009, 14:29) Ко... Dec 9 2009, 08:52     Methane Цитата(Terminator @ Dec 9 2009, 10:50) А ... Dec 9 2009, 08:53  Dima_G Цитата(Terminator @ Dec 9 2009, 12:07) Ну... Dec 9 2009, 08:54   jorikdima Цитата(Dima_G @ Dec 9 2009, 11:54) Скольк... Dec 9 2009, 09:00    Dima_G Цитата(jorikdima @ Dec 9 2009, 13:00) пре... Dec 9 2009, 09:15     Methane Цитата(Dima_G @ Dec 9 2009, 11:15) sss(BY... Dec 9 2009, 09:50      Dima_G Цитата(Methane @ Dec 9 2009, 12:50) Никог... Dec 9 2009, 10:04       Methane Цитата(Dima_G @ Dec 9 2009, 12:04) Вы про... Dec 9 2009, 11:22      demiurg_spb Цитата(Methane @ Dec 9 2009, 12:50) Никог... Dec 9 2009, 16:09     Terminator Цитата(Dima_G @ Dec 9 2009, 15:15) Те сто... Dec 9 2009, 12:28      Dima_G Цитата(Terminator @ Dec 9 2009, 16:28) По... Dec 9 2009, 12:41 Terminator без .u.f оно приводит к типу первого элемента unio... Dec 9 2009, 08:18 Methane Цитата(Terminator @ Dec 9 2009, 10:18) бе... Dec 9 2009, 08:37 jorikdima Создайте отдельный модуль и компилируйте его и тол... Dec 9 2009, 08:49 LessNik Вообще-то и первоначальный код прекрасно собрался.... Dec 9 2009, 09:51 Terminator Кодunion tUnion {
int p;
float f;
tUnion... Dec 9 2009, 12:50 Dima_G Цитата(Terminator @ Dec 9 2009, 16:50) [c... Dec 9 2009, 12:55  Terminator Цитата(Dima_G @ Dec 9 2009, 18:55) Ну нич... Dec 9 2009, 13:14   Dima_G Цитата(Terminator @ Dec 9 2009, 17:14) Пр... Dec 9 2009, 16:14
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|