AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unverständlicher DCC-Fehler E2506

Ein Thema von himitsu · begonnen am 20. Apr 2009 · letzter Beitrag vom 10. Jan 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#1

Re: unverständlicher DCC-Fehler E2506

  Alt 20. Apr 2009, 19:22
Zitat von Alter Mann:
Mach die Hilfe auf und suche nach E2506.
hast du das auch mal gemacht?
Zitat von OH:
E2506: Explizite Spezialisierung ist nicht eindeutig: Template-Arg. müssen angegeben werden
Der folgende Programmcode erfordert explizite Template-Argumente:

Delphi-Quellcode:
template<class T> void foo(T);

template<class T> void foo(T *);

template<> void foo(int *); // Fehler, es muss 'foo<int>' oder 'foo<int *>' heißen
Also das klingt mehr nach einem Problem in der Definition des Generics

Ich hab aber Problemchem in der Implementierung
und diese treten auch noch nur sporatisch auf.




[add]
Also das ist aktuell mein kleines Testprogramm und die aktuelle Version liegt im Anhang.
Leider meckert der Compiler an unterschiedlichen Stellen und wenn man gleich nochmal compilert, wird oftmals plötzlich wo anders gemeckert.
Ansonsten wäre es eigentlich eine recht schicke Sache (wenn es denn vollständig liefe)
Delphi-Quellcode:
Program Project1; SysUtils, AssocArray;

Type TTestRec = Record
    A: String;
    X, Y, Z: Integer;
  End;

  TStringAssocArray = TAssocArray<String>;
  TIntegerAssocArray = TAssocArray<Integer>;
  TTestAssocArray = TAssocArray<TTestRec>;

Var A: TStringAssocArray;
  B: TTestAssocArray;
  T: TTestRec;

Begin
  A['123'] := 'abc';
  A['456'] := 'def';
  A['alfred'] := 'xyz';

  If A[1] = A['456'] Then Beep;

  // A.SetLength(3);
  //
  // A.Length = 3
  // A.Name[1] = '123'
  // A.Value[1] = A[1] = 'abc'
  // A.Value['456'] = A['456'] = 'abc'
  // A.Index['456'] = 1
  //
  // A.Add('ghi', 'Name');
  // A.Add('ghi');
  // A.Insert('ghi', 3, 'Name');
  // A.Insert('ghi', 3);
  // A.Move(3, 2);
  // A.Delete(3);
  // A.Delete('alfred');

  B['test'] = T;
  If B[0] = T Then Beep;
End.
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
Angehängte Dateien
Dateityp: pas assocarray_102.pas (5,4 KB, 7x aufgerufen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz