VB'ler habens wirklich schwer: Casten?
-
Hallo Forum,
bei diesem Code:
#define BUFFER_SIZE 1000 unsigned long *size = BUFFER_SIZE;
Gibt es diesen Fehler:
cannot convert from 'const int' to 'unsigned long *'
Muß ich jetzt 1. Konstanten casten? Oder kann ich wie in VB den Typ von 1000 festlegen?
2. Warum macht man bei "return (-1);" die Klammern? Habs mal irgendwo gelesen dann aber wieder vergessen.
Vielen Dank
Peter
-
peterf_x schrieb:
2. Warum macht man bei "return (-1);" die Klammern?
da braucht man keine klammern
btw:
#define BUFFER_SIZE 1000 unsigned long size = BUFFER_SIZE;
-
Uh! Hab das Sternchen übersehen. Mein Fehler...
Die Zeile "return (-1);" sehe ich aber öfters. Würde dort statt der -1 ein kompilizierter Ausdruck stehen, könnte es dann von der Abarbeitungsreihenfolge her geschehen das ein nicht ganz ausgewerteter Ausdruck zurückgegeben wird?
-
peterf_x schrieb:
Würde dort statt der -1 ein kompilizierter Ausdruck stehen, könnte es dann von der Abarbeitungsreihenfolge her geschehen das ein nicht ganz ausgewerteter Ausdruck zurückgegeben wird?
nö, klammern braucht man nur, wenn die rechnung ohne klammern wegen der rangfolge der operatoren falsch wäre...
-
Nein! Die Klammern um den Ausdruck bei return haben keinerlei
Ich kann es mir nur so vorstellen, daß manche Programmierer
die return-Anweisung als eine Funktion ansehen und deshalb
die Klammern unnötigerweise setzen.
-
Java-Progger schrieb:
Ich kann es mir nur so vorstellen, daß manche Programmierer
die return-Anweisung als eine Funktion ansehen und deshalb
die Klammern unnötigerweise setzen.das können aber nur programmierer sein, die nicht wissen was eine funktion überhaupt ist
-
Ok. Aber irgendeinen Grund gab es. Muß wohl Ästhetik gewesen sein
-
peterf_x schrieb:
Ok. Aber irgendeinen Grund gab es. Muß wohl Ästhetik gewesen sein
nö
aber meines geschmackes ist auchreturn (-1);
vom aussehen besser als
return -1;
-
nebenbei bemerkt: sizeof ist ein operator, keine funktion. klammern nicht (immer) noetig. man sehe:
struct Foo *bar = malloc(sizeof struct Foo);