Variablen vom typ "line" vergleichen

Gast #1927342
Lesenswert?
• ▲
▼
Hallo,

wie im Topic zu sehen versuche ich grade Variablen vom Typ line auf 
Gleichheit zu überprüfen, allerdings mit mäßigem Erfolg. Der folgende 
Codeschnipsel gibt leider immer ein "A /= B" für EQUAL aus. A und B 
werden auch nur an der einen Stelle beschrieben, sowie EQUAL 
ausschließlich in der if Bedingung. Soweit ich informiert bin ist der = 
Operator doch für alle Objektklassen außer FILE erlaubt?
1
variable A,B, EQUAL : line;
2
.......
3
write(A, string'("X"));
4
write(B, string'("X"));
5
if(A = B) then
6
   write(EQUAL, string'("A = B"));
7
else
8
   write(EQUAL, string'("A /= B"));
9
end if;
Gast #1927446
Lesenswert?
• ▲
▼
Hi,

deine LINE-Variablen sind im Prinzip Zeiger, d.h. ein
Vergleich ergibt ja nur, ob beide Variablen auf den
selben "Speicher" zeigen. Du willst aber den Inhalt
vergleichen.
Zuerst must du ermitteln, ob beide Zeiger gültig (d.h
ungleich "NULL" sind). Dann kannst du beide Strings
A.all und B.all vergleichen.

Viel Spass

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren