Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> E2008 Incompatible types, Где зарылся злобный буратино? 
:(
    Опции темы
dizzy1984
Дата 13.4.2009, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: нет
Всего: 25



Доброе время суток.
Работа с указателями. Создаю 2 указателя, пытаюсь присвоить один другому. Ошибка "несовместимые типы".
Код

type rec1 = record
  i : integer;
end;


var
  p1 : ^rec1;
  p2 : ^rec1;


begin
p2 := p1;
end.

Цитата

[Pascal Error] Unit1.pas(49): E2008 Incompatible types

Есть оформить указатель на структуру как тип, это компилируется. Разъясните в чем проблема.
PM MAIL   Вверх
CodeMonkey
Дата 13.4.2009, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 29
Всего: 89



По определению. Это разные типы.

Надо:
Код
type
  TRec1 = record
    i : integer;
  end;  
  PRec1 = ^TRec1;


Могли бы и в справку заглянуть.




--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
aliks
Дата 13.4.2009, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 17.12.2008

Репутация: нет
Всего: 1



Код

type
  rec1 = record
    i : integer;
  end;
  prec = ^rec1;

var
  p1 : prec;
  p2 : prec;
begin
  p1:=p2;
end;


Любимая кнопка F1
--------------------
Любимая кнопка - F1, Любимое спасибо - Плюс в репутацию
PM MAIL Jabber   Вверх
dizzy1984
Дата 13.4.2009, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: нет
Всего: 25



Ясно. Но типы-то не разные (по крайней мере пишутся одинаково...)
Всем спасибо.
PM MAIL   Вверх
CodeMonkey
Дата 13.4.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 29
Всего: 89



Цитата
Но типы-то не разные

Бинарно - одинаковы. С точки зрения системы типов языка - разные.

Пример.

Считаются ли, по-вашему, такие типы одинаковыми или разными?

Код
type
  SomeOtherType = Integer;

  T1 = Integer;

  и

  T2 = SomeOtherType;

  T3 = record
    T: Integer;
  end;

  и 

  T3 = record
    T: SomeOtherType;
  end;

  TC1 = class(TPersistent)
  public
    F1: Integer;
  end;

  и

  TC2 = class(TPersistent)
  public
    F1: Integer;
  end;



--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
dizzy1984
Дата 20.4.2009, 07:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: нет
Всего: 25



Ясно, ясно, спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.