Подскажите где парю

Тема в разделе "Общие вопросы по С и С++", создана пользователем F84, 13 июн 2008.

Статус темы:
Закрыта.
  1. F84

    F84 Гость

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

    Есть массив
    Код (Text):
    ...
    const int Coords[18][4] =
    {
    {LEFT11,TOP11,0,0},{LEFT12,TOP12,0,1},
    {LEFT13,TOP13,0,2},{LEFT14,TOP14,0,3},
    ...
    }
    ...


    где LEFT11,12,...., TOP11,12,........ это констатнт типа int
    Код (Text):
    ...
    const LEFT11 = 314;
    const TOP11 = 232;
    ...


    в событии OnMouseUp главной формы есть такой код:
    Код (Text):
    void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
    TShiftState Shift, int X, int Y)
    {
    int i, line, pos;
    ...
    line = -1;
    for(i=0; i<18; i++)
    if(X > Coords[i,0]
    && X < Coords[i,0]+CARD_WIDTH //CARD_WIDTH - константа типа int
    && Y > Coords[i,1]
    && Y < Coords[i,1]+CARD_HEIGHT) //CARD_HEIGHT- константа типа int
    {
    line = Coords[i,2];
    pos = Coords[i,3];
    break;
    };
    ...
    }


    при компилиции ругается на строки
    && X < Coords[...
    && Y > Coords[...


    "[C++ Error] MainUnit.cpp(443): E2034 Cannot convert 'int' to 'const int *'"

    и так на строки
    line = Coords[i,2];
    pos = Coords[i,3];


    "[C++ Error] MainUnit.cpp(449): E2034 Cannot convert 'const int *' to 'int'"

    почему не пойму, ведь сравниваются и присваиваются значения одног и того же типа и почему компилятор пытается конвертировать непойму вообще... :lol:
    подскажите в чем проблемма плиз
     
  2. shisik

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    В С/С++. в отличии от Паскаля, к элементам массивов обращаются в виде: Coords[j][k][...] в зависимости от размерности массива. Т.е. в данном случае Coords[0] и т.п.
     
  3. F84

    F84 Гость




    :lol: спасибо..., вот это меня загнало млин ;)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей