Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

Emuneration для индексов массива в Delphi: перевод на С++   Найти похожие ветки 

 
monkeyboy   (2007-08-01 13:31) [0]

В Delphi для задания массива используется тип, и можно использовать enum.
type
 TFileTimeKind = (ftkLastModidied, ftkAccessed, ftkCreated);
...
 FFileTimes: array[TFiletipeKind] of TFileTime;


Пытаюсь это  выразить в С++ :

typedef enum
{
 LastModidied,
 Accessed,
 Created
}
FileTimeKind;
...
 FILETIME fileTimes_[3];


Можно ли как-то сделать, чтобы константа 3 вычислялась из диапазона enum ?


 
Dib@zol ©   (2007-08-01 13:33) [1]

Эт тебе не сюда, а на http://forum.vingrad.ru надо (ИМХО).


 
clickmaker ©   (2007-08-01 13:41) [2]

typedef enum
{
LastModidied = 1,
Accessed,
Created
}
так что-ли?


 
Игорь Шевченко ©   (2007-08-01 13:54) [3]

Видел только такое решение:

typedef enum _SYSTEM_POWER_STATE {
   PowerSystemUnspecified = 0,
   PowerSystemWorking     = 1,
   PowerSystemSleeping1   = 2,
   PowerSystemSleeping2   = 3,
   PowerSystemSleeping3   = 4,
   PowerSystemHibernate   = 5,
   PowerSystemShutdown    = 6,
   PowerSystemMaximum     = 7
} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;

#define POWER_SYSTEM_MAXIMUM 7

typedef struct CM_Power_Data_s {
   DWORD               PD_Size;
   DEVICE_POWER_STATE  PD_MostRecentPowerState;
   DWORD               PD_Capabilities;
   DWORD               PD_D1Latency;
   DWORD               PD_D2Latency;
   DWORD               PD_D3Latency;
   DEVICE_POWER_STATE  PD_PowerStateMapping[POWER_SYSTEM_MAXIMUM];
--------------------------------------------------^^^^^^^^^^^^^^^^^
   SYSTEM_POWER_STATE  PD_DeepestSystemWake;
} CM_POWER_DATA, *PCM_POWER_DATA;


 
palva ©   (2007-08-01 13:59) [4]

Может быть, так?

#include <stdio.h>

typedef enum
{
LastModidied,
Accessed,
Created,
Max_Enum
}

FileTimeKind;

int fileTimes_[Max_Enum];
void main() {
 fileTimes_[Created] = 777;
 printf("%d\n", fileTimes_[Created]);
}


 
monkeyboy   (2007-08-01 14:08) [5]


> Игорь Шевченко ©  

Понятно, спасибо.
То есть, того что хотелось бы, нет.
В моей ситуации тогда лучше сделать три поля.


 
monkeyboy   (2007-08-01 14:12) [6]


> palva ©

Да, наверное именно так надо, спасибо.



Страницы: 1 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
2-1190331893
NickEr
2007-09-21 03:44
2007.10.14
Проверка числа на симметричность


2-1190190540
O.O
2007-09-19 12:29
2007.10.14
Сдвиг выделеных строк в редакторе


15-1189636957
Бакук
2007-09-13 02:42
2007.10.14
Англия-Россия-3:0


15-1189284559
NailMan
2007-09-09 00:49
2007.10.14
К вопросу об уничтоженнии данны на харде


3-1180362429
makvell
2007-05-28 18:27
2007.10.14
Какие компоненты использовать