Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Funktion wird trotz Prüfung auf ungleich NULL ausgeführt

Frage Entwicklung C und C++

Mitglied: Power-Poler

Power-Poler (Level 1) - Jetzt verbinden

07.03.2014, aktualisiert 13:09 Uhr, 1253 Aufrufe, 5 Kommentare

Hallo
Habe da ein kleines großes Problem, bei dem ich jetzt komplet auf dem Schlauch stehe wo der fehler liegt.
Habe folgende Zeilen code:
01.
void removeblock(struct _block* B){ 
02.
	if(B!=NULL){ 
03.
	setpoint(B->eins->P,0,' '); 
04.
	setpoint(B->zwei->P,0,' '); 
05.
	setpoint(B->drei->P,0,' '); 
06.
	setpoint(B->vier->P,0,' '); 
07.
08.
}
Ich Prüfe ob der Zeiger Ungleich NULL ist, und führe dan die Funktion aus.
Doch die Funktion wird auch ausgeführt wenn der Zeiger = NULL ist.
B 0x003b8a40 {eins=0xfeeefeee {P={X=??? Y=??? } color=??? zeichen=??? } zwei=0xfeeefeee {P={X=??? Y=??? } ...} ...} _block *
Kann sein das ich nur wider irgendwo einen Denkfehler mache.
Aber eigentlich dürfte er doch nicht die Funktion ausführen.
Sorry, wenn die frage dämlich klingt, aber ich hänge jetzt sei 1Stunde ein dieser Zeile code, und ich hab inzwischen einfach das Gefühl, das das Programm macht was es will.
Also die Bedingungen mal ignoriert mal berücksichtigt.

Schonmal Danke für eine Antwort.
Mitglied: colinardo
07.03.2014, aktualisiert um 13:34 Uhr
schon mal so ausprobiert (C++)?
01.
if ( B != nullptr ) { 
02.
.. 
03.
.. 
04.
}
auch mal Leerzeichen vor und hinter dem Vergleichsoperator lassen
Grüße Uwe
Bitte warten ..
Mitglied: Power-Poler
07.03.2014 um 13:46 Uhr
Will er auch nicht.
Die Funktion wird immer noch ausgeführt.
Konnte den Fehler inzwischen aber eingrenzen. (Weshalb überhaupt ein NULL Block entfernt werden soll.)
Wenn die If Bedingung nur das machen würde was sie soll, könnte ich mir jetzt aber auch die ganzen Änderungen sparen...
Bitte warten ..
Mitglied: Power-Poler
07.03.2014 um 13:59 Uhr
Danke für die Links, werde ich mir mal anschauen.
Aber hab das Problem jetzt gefunden, weshalb ein Block mit NULL entfernt werden sollte.
Diese Möglichkeit hab ich jetzt ausgeschlossen, sodass eigentlich nur noch gültige werte an removeblock übergeben werden sollte.
Bitte warten ..
Mitglied: rubberman
07.03.2014 um 18:04 Uhr
Hallo Power-Poler,

gut dass du den Fehler anderweitig eingegrenzt hast, ABER das if Statement ist eindeutig. Heißt, der Pointer war nicht NULL und dein Fehler liegt/lag nicht in der geposteten Funktion.

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Weiterbildung
Weiterbildungen und Prüfungen (3)

Frage von PharIT zum Thema Weiterbildung ...

Router & Routing
gelöst CISCO CCNP-SWITCH Prüfung (3)

Frage von edvmaedchenfueralles zum Thema Router & Routing ...

Microsoft Office
Prüfung von Intervallen und Textausgabe in Excel (2)

Frage von traller zum Thema Microsoft Office ...

Batch & Shell
gelöst Führende Nullen hinzufügen (6)

Frage von Erik72 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Seekrank bei Windows 10 (17)

Frage von zauberer123 zum Thema Windows 10 ...

Windows Server
gelöst Kopiervorgang schlägt fehl, weil Datei- und Ordnername zu lang sind (14)

Frage von Schroedi zum Thema Windows Server ...