![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему ошибка? [D6, D7, Win2k, WinXP]
П7 © (2004-10-28 10:15:00)Уважаемые Мастера!
"Я такой тупой, как гранитная глыба", почему оибка в таком коде:
function TirPirFunc( Count : integer; PID : P7PID ) : integer;
var
i : integer;
begin
for i := 0 to Reports.Count-1 do
if ( MyClass.PID = PID ) then
begin
Result := i;
break;
end;
end;
где:
type
P7PID = array[0..3] of integer;
MyClass = class
PID : P7PID;
//...
end;
Выдаёт ошибку:
Operator not applicable to this operand type
Найдя ошибку, курсор позиционируется сюда:
if ( MyClass.PID = PID ) then |
Нифига не понимаю, чего ему не понравилось...
Плохиш (2004-10-28 10:37:00) [1]
> П7 (28.10.04 10:16) [1]
Попробуем протелепатировать: Ты хотел написатьif ( MyClass.PID[i] = PID[i] ) then? Границы проверить не забудь.
П7 (2004-10-28 10:34:00) [2]это плохо... ): ну ладно, фигня...
Спасибо!
Тема закрыта.
КаПиБаРа (2004-10-28 10:26:00) [3]П7 (28.10.04 10:22) [4]
Тогда надо в цикле сравнивать элементы массивов.
П7 (2004-10-28 10:22:00) [4]"То что в элементах массива числа совпадают". Именно так.
КаПиБаРа (2004-10-28 10:19:00) [5]П7 (28.10.04 10:15)
if ( MyClass.PID = PID ) then
Смысл проверки? То что в элементах массива числа совпадают или то что это указатели на один массив?
П7 (2004-10-28 10:16:00) [6]Первая функция вот такая на самом деле, это я загнался...
function TirPirFunc( Count : integer; PID : P7PID ) : integer;
var
i : integer;
begin
for i := 0 to Count-1 do
if ( MyClass.PID = PID ) then
begin
Result := i;
break;
end;
end;
В чём ошибка?
Sandman25 (2004-10-28 10:16:00) [7]Видимо, нельзя так сравнивать массивы