В процессе преобразования данной эффективной реализации хеш-карты на основе указателей в общую реализацию хэш-карты я наткнулся на следующую проблему:
У меня есть класс, представляющий хэш-узел (реализация хеш-карты использует двоичное дерево)
THashNode <KEY_TYPE, VALUE_TYPE> = class
public
Key : KEY_TYPE;
Value : VALUE_TYPE;
Left : THashNode <KEY_TYPE, VALUE_TYPE>;
Right : THashNode <KEY_TYPE, VALUE_TYPE>;
end;
В дополнение к этому есть функция, которая должна возвращать указатель на хеш-узел. я хотел написать
PHashNode = ^THashNode <KEY_TYPE, VALUE_TYPE>
но это не компилируется (";" ожидается, но "‹" найдено).
Как я могу иметь указатель на общий тип?
И адресовано Барри Келли: если вы читаете это: да, это основано на вашей реализации хеш-карты. Вы сами не написали такую общую версию своей реализации, не так ли? Это сэкономило бы мне время :)