Вопрос по SAFEARRAY

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _nic, 15 Jul 2009.

  1. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Часто на форумах мсдна наталкивался на примерно такое вот обращение к этому массиву
    Подскажите что значат эти скобки окружающие массив?Пробовал воспроизвести у себя но получаю ошибки типа C2228,C2227. Вот теперь ломаю голову как такое работает :(
     
  2. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    я думаю скобки здесь указывают на то что в этот массив вложен еще один массив...

    вот что выдал поиск по запросу SAFEARRAY - http://www.rsdn.ru/article/com/varsafearr.xml

    я сталкивался в своей практивке со вложеными структурами... и иногда очень тяжело было намудрить чтобы получить нужные данные, но я обявлял новые указатели и проблема решалась...

    вот пример моего кода со вложенными стуктурами.
    Code:
    typedef struct Partition_Table_Entry
    {
    	BYTE act;
    	BYTE spart_gol;
    	BYTE spart_sek;
    	BYTE spart_dor;
    	BYTE type;
    	BYTE epart_gol;
    	BYTE epart_sek;
    	BYTE epart_dor;
    	DWORD offset_first_sektor;
    	DWORD kolsek;
    } PTE;
    
    typedef struct Partition_Table
    {
      PTE pte[4];
    } PT;
    //-------------------------
    PT *part_table;
    part_table=(PT *)&dump_disk[code_offset];
    ...
    printf("%x",part_table->pte[i].type);
    ...
    
     
    _________________________