Mailinglisten-Archive |
Hi Andreas,
ich schließe mich hier mal der Reihe derer, die es leider eigentlich nicht so
genau wissen an. Will sagen, ich rate mal wild drauf los:
> was bedeutet denn:
> syntax error : missing ':' before ')'
Nun, wie gesagt, meine C-Kenntnisse sind mäßig. Aber die obige Fehlermeldung
erinnert mich etwas an eine spezielle Schreibweise für bedingte Anweisungen -
den "unary" (ich hörte auch schonmal "ternary") Operator:
Bedingung ? Tue_dies : Tue_das;
(gibt's übrigens genauso auch bei PHP).
Bedeutet:
Wenn "Bedingung" wahr ist, wird "Tue_dies" ausgeführt, ansonsten "Tue_das".
Ist ergo das gleiche als hätte man geschrieben:
if (bedingung)
{
Tue_dies;
}
else
{
Tue_das;
}
Die Fehlermeldung würde dann evtl. bedeuten, daß der Compiler den "else"-Teil,
bzw. den Doppelpunkt der ihn einleitet, vermisst. Warum er den allerdings vor
einer Klammer haben will... - keine Ahnung. Möglicherweise kann/soll die ganze
Anweisung geklammert sein, und die Klammerung hört quasi schon auf, bevor das
"unary" Konstrukt aufhört... oder so.
> und wo muss eventuel der ':' hin?
Tja, das weiß ich auch nicht - da mir z.Z. leider die Vorstellungskraft fehlt,
was die besagte Zeile eigentlich machen soll/will.
Okay, genug geraten für heute,
CU,
Manuel
php::bar PHP Wiki - Listenarchive