Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Klasse in andere Unit übertragen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.07.2004, 22:04 Uhr
BuraTino



Hi ich bin es wieder und verzweifle nun bald.

Da ich nun meine Punkte gefunden habe und diese in folgender Listenstruktur abgespeichert habe...

C++:
class Kreuzungspunkte
{
public:
double xcoord;
double ycoord;
Kreuzungspunkte *nextKP;
};

Kreuzungspunkte *KP_anfang=NULL;



möchte ich diese Liste in einer anderen Unit nutzen.

Diese Liste ist in der helpfunc.h deklariert und wird in der helfunc.cpp gefüllt.
Ich habe allerdings das Gefühl (mein Ausdrucksüberwacher zeigt es an) das KP_anfang immer NULL ist, aber wenn mehrere Einträge kommen überspringt er die Anweisung
if (KP_anfang==NULL)


C++:
            //...CODE

            KPElement=new Kreuzungspunkte();
            KPElement->xcoord=newx;
            KPElement->ycoord=newy;

            if (KP_anfang==NULL)
            {
             KPElement->nextKP=NULL;
             KP_anfang=KPElement;
            }
            else
            {
             KPElement->nextKP=KP_anfang;
             KP_anfang=KPElement;
            }

            //CODE....



Nun wechsle ich in die Unit strskel.cpp (Straight Skeleton) und will dort die Listeneinträge nutzen.
Obwohl ich die helpfunc.h in strskel.cpp included habe überspringt er die Anweisung
if (KP!=NULL). (KP ist aber eigentlich nicht NULL). Wird "KP_anfang" irgendwo zerstört.


C++:
int Connect_Streetend()
{
Kreuzungspunkte *KP=KP_anfang; //Kreuzungspunkt
Connection *SKP=C_anfang; //Straight_Skeleton_Punkte
double abstand=0,tempabstand=9999999999;
Connection *Speicher;
AnsiString SSAusgabe;


while (KP!=NULL)
{
  tempabstand=999999999;
  while (SKP!=NULL)
  {
    abstand=Abstand_berechnen(KP->xcoord,KP->ycoord,SKP->xcoord_this,SKP->ycoord_this);
    if (abstand<tempabstand)
       {
        Speicher=SKP;
        tempabstand=abstand;
       }
   SKP=SKP->nextC;
  }
  SSAusgabe="Line ";
  SSAusgabe+=KP->xcoord;SSAusgabe+=" ";SSAusgabe+=KP->ycoord;SSAusgabe+=" ";
  SSAusgabe+=Speicher->xcoord_this;SSAusgabe+=" ";SSAusgabe+=Speicher->ycoord_this;SSAusgabe+=" ";
  Form1->Anzeige->Lines->Add(SSAusgabe);
  KP=KP->nextKP;
  Speicher=NULL;
  SKP=C_anfang;
}

}



Falls ihr mehr Quellcode braucht mal bitte melden, dann stelle ich ihn irgendwo bereit.


Noch eine andere Frage mein Compiler gibt mir immer Warnungen aus, das Symbol XXXX bereits deklariert ist. Kann ich das vernachlässigen oder hat das mal irgendwelche Auswirkungen.

Danke BuraTino

Dieser Post wurde am 23.07.2004 um 22:06 Uhr von BuraTino editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.07.2004, 23:59 Uhr
Hans
Library Walker
(Operator)



Zitat von BuraTino:
Noch eine andere Frage mein Compiler gibt mir immer Warnungen aus, das Symbol XXXX bereits deklariert ist. Kann ich das vernachlässigen oder hat das mal irgendwelche Auswirkungen.

Hi,

das solltest Du besser nicht vernachlässigen, sondern mal nachsehen, wo Du das Symbol schon deklariert hast. Und an den Stellen im Quelltext, wo der Compiler es dann als schon deklariert anprangert, solltest Du es im Quelltext als schon bekannt (also wahrscheinlich extern) kenntlich machen. Bemüh mal die Suchfunktion des Forums, denn das Thema wurde hier vor einiger Zeit schon mal behandelt.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 24.07.2004 um 00:01 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: