none
Где есть нормальная инфа по массивам С++? RRS feed

  • Вопрос

  • Как использовать массивы С в Windows Forms?

    Например хочу объявить двумерный массив точек, заданных структурами. Так ошибок не выдаёт.

    struct bmpP
    {
        int R;
        int G;
        int B;
    } ;

    А вот так уже пишет, что структура уже определена:

    struct bmpP
    {
        int R;
        int G;
        int B;
    } p;

    И так тоже:

    typedef struct
    {
        int R;
        int G;
        int B;
    } bmpP ;

    bmpP p;

    А надо такое:

    bmpP p[700][500];

    сначала статический массив, потом динамический (создавать рисунки с разными размерами в точках)

    И это только если объявлять вне класса формы. А как объявить структуру-член класса формы? Как смешивать управляемый и неуправляемый код в данном случае? Как объявлять и использовать структуры, используя управляемый код? Где-нибудь вообще есть мануалы по данному вопросу? (ВСЕ учебники отчего-то состоят из 2х частей: сначала программирование на обычном С++ в консоли, потом простейшие навыки работы в Windows Forms, две несовместимые части)

    5 марта 2012 г. 14:59

Ответы

Все ответы

  •  Здравствуйте.

    Вы хотите объявить управляемую (CLR) или неуправляемую (C++) структуру?


    Для связи [mail]

    5 марта 2012 г. 18:48
  • Я хочу объявить и такую, и такую. Чтобы знать как. Мне нужен двумерный массив структур. Доступного изложения как это сделать что-то нигде не нахожу.

    И ещё бы заодно знать, как объявляются и используются перечисления enum управляемого типа? Обычные перечисления можно объявлять вне класса и использовать в том же файле, хотя компилятор ругается. А что есть на замену в защищённом коде?

    Честно говоря, простого и ясного описания синтаксиса защищённого кода нигде не найти, хотя он, похоже, меняется чуть ли не каждые 3 года.

    • Изменено donaire 6 марта 2012 г. 8:54
    6 марта 2012 г. 8:49
  • Массив структур объявляется просто:
    	// объявляем c++ структуру внутри namespace
    	struct myStruct {
    		int R;
    		int G;
    		int B;
    	};
    
    	// создаем динамический массив
    	myStruct** ss = new myStruct*[10];
    	// создаем статический массив
    	myStruct sss[10][20];

    Если нужна управляемая структура, то смотрите C++/CLI in Action - Declaring CLR types и Объявление массива CLR

    Для связи [mail]

    • Помечено в качестве ответа donaire 9 марта 2012 г. 10:51
    6 марта 2012 г. 11:45
  • Также посмотрите следующий материал то типам CLR - Language Features for Targeting the CLR

    Для связи [mail]

    • Помечено в качестве ответа donaire 9 марта 2012 г. 10:51
    6 марта 2012 г. 11:49
  • Спасибо!!!
    9 марта 2012 г. 10:51