Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 03, 2025 06:30

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Problem mit overload
BeitragVerfasst: Mo Mär 14, 2011 15:42 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Also, ich benutze derzeit wieder mal Lazarus, bzw versuche, das zu tun. Momentan hab ich folgendes Problem:

Ich versuche, eine Funktion für die Datentypen single, double und extended zu deklarieren. Single und double geht noch ohne Probleme, aber wenn ich die Funktion dann auch noch für extended deklariere, bekomme ich eine Fehlrmeldung:
Code:
sharkutils.pas(29,12) Error: Function is already declared Public/Forward "FMod(Double, Double):Double;"
sharkutils.pas(33,12) Error: Function is already declared Public/Forward "RadiansNormalize(Double):Double;"
sharkutils.pas(37,13) Error: Function is already declared Public/Forward "SinCos(Double,out Double,out Double);"
sharkutils.pas(90,1) Fatal: There were 3 errors compiling module, stopping


Der Code dazu sieht so aus:
Code:
function FMod(a, b: single): single;
  function FMod(a, b: double): double;
  function FMod(a, b: extended): extended;

  function RadiansNormalize(a: single): single;
  function RadiansNormalize(a: double): double;
  function RadiansNormalize(a: extended): extended;

  procedure SinCos(phi: single; out sinus: single; out cosinus: single);
  procedure SinCos(phi: double; out sinus: double; out cosinus: double);
  procedure SinCos(phi: extended; out sinus: extended; out cosinus: extended);   
Wenn ich da noch overload; drannschreib macht das übrigens auch keinen Unterschied.

Was mir auch noch seltsam vorkommt ist, dass es nur mit den drei Funktionen nicht geht. Ich hab noch deutlich mehr Funktionen in der Unit, bei denen ich im Großen und Ganzen genau dasselbe mache, und dort schreit er nicht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit overload
BeitragVerfasst: Mo Mär 14, 2011 17:51 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Irgendwie scheint er bei dir Extended und Double gleichzusetzen. Hast du die Unit math eingebunden? Welche FPC-Version nutzt du? Kompilierst du für 32 oder 64 bit?

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit overload
BeitragVerfasst: Mo Mär 14, 2011 19:36 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Unit Math ist eingebunden, der Rest... ähm, keine Ahnung. Zur FPC version kann ich nur sagen, dass ich das Lazarus erst vor ein paar Tagen runtergeladen und installiert hab, also vermute ich mal, dass es die FPC version ist, die da aktuell dabei ist.

ok, die Datei hieß lazarus-0.9.28.2-fpc-2.2.4-win-64.exe, also ist es wohl FPC 2.2.4


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit overload
BeitragVerfasst: Mo Mär 14, 2011 20:20 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Hab mal in den Einstellungen(*) rumgestöbert, und da gefunden dass kein FPC_HAS_TYPE_EXTENDED ist, und außerdem ist da ein FPUSSE64

(*): Einstellungen:Editor für CodeTools Eigenschaften...:Free Pascal Compiler


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit overload
BeitragVerfasst: Mo Mär 14, 2011 20:21 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Die Lösung sieht so aus:
Code:
{$ifdef fpc_has_type_extended}


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]