C->C++
-
Hallo!
Ich muß ein Stück C nach C++ portieren. Was heißt bitte das hier?
static void calctables(n) int n; { ..bla }Was bedeutet "static void" als Typ?
Warum braucht es keinen Typ für n in "calctables(n)" ?
Welche Wirkung hat "int n" zwischen calctables(n) und "{" ?Danke
-
include schrieb:
Was bedeutet "static void" als Typ?
das static bezieht sich auf die Funktion, nicht auf das void. (Zeilenumbrüche sind ganz normale whitespaces in C und C++, also könnte das alles genausogut in einer Zeile stehen.
Warum braucht es keinen Typ für n in "calctables(n)" ?
Welche Wirkung hat "int n" zwischen calctables(n) und "{" ?Im alten C (ich glaube nannte sich K&R-C oder?) wurden die Typen der Argumente nach der eigentlichen Argumentliste angegeben. Dürfte in C90 und C99 nicht mehr gültig sein. (bin mir da aber nicht sicher)
zusammen heißt das also:
static void calctables(int n) { ... }
-
static void calctables(int n) { ... }das static heißt nix anderes, als das die fkt in anderen überstzungseinheiten nicht sichtbar ist. in C++ kann man so etwas auch mit anonymen namensräumen lösen - da gibt es (glaube ich) keinen unterschied zum static:
namespace /*anonym*/ { void calctables(int n) { /*...*/ } }//namespacebb