Eine Funktion ist variabel, wenn sie eine variable Anzahl von Argumenten akzeptieren kann. das heißt, seine Arität ist nicht festgelegt. Die Abkürzung "varargs" wird üblicherweise verwendet, um sich auf diese Arten von Funktionen zu beziehen.
Ist es möglich, eine Methode zu deklarieren, die eine variable Anzahl von Parametern zulässt? Welche Symbolik wird in der Definition verwendet, die angibt, dass die Methode eine variable Anzahl von Parametern zulassen soll? Antwort: varargs
Ich habe eine PHP-Funktion, die eine variable Anzahl von Argumenten (mit func_num_args()und func_get_args()) akzeptiert , aber die Anzahl der Argumente, die ich an die Funktion übergeben möchte, hängt von der Länge eines Arrays ab. Gibt es eine Möglichkeit, eine PHP-Funktion mit einer variablen Anzahl von Argumenten aufzurufen ?
Ich habe also zwei Funktionen, die beide ähnliche Argumente haben void example(int a, int b, ...); void exampleB(int b, ...); Nun exampleruft exampleB, aber wie kann ich entlang der Variablen in der Variablenargumentliste übergeben , ohne Modifizierung exampleB(wie dies bereits an anderer Stelle auch verwendet wird ).
Wenn Sie möchten, dass eine Methode in C # eine unbestimmte Anzahl von Parametern hat, können Sie den endgültigen Parameter in der Methodensignatur so festlegen params, dass der Methodenparameter wie ein Array aussieht, aber jeder, der die Methode verwendet, so viele Parameter dieses Typs übergeben kann wie der Anrufer will. …
Ich habe Netbeans so eingestellt, dass in meinem Java-Code ungeprüfte Warnungen angezeigt werden, aber ich verstehe den Fehler in den folgenden Zeilen nicht: private List<String> cocNumbers; private List<String> vatNumbers; private List<String> ibans; private List<String> banks; ... List<List<String>> combinations = Utils.createCombinations(cocNumbers, vatNumbers, ibans); Gibt: [unchecked] unchecked generic array creation for varargs …
Die Typensicherheit von Haskell ist unübertroffen, nur bei Sprachen mit abhängiger Eingabe. Aber mit Text.Printf ist eine tiefe Magie im Gange , die ziemlich typisch wirkt. > printf "%d\n" 3 3 > printf "%s %f %d" "foo" 3.3 3 foo 3.3 3 Was ist die tiefe Magie dahinter? Wie kann …
Wenn ich eine vararg Java-Methode habe foo(Object ...arg)und aufrufe foo(null, null), habe ich beide arg[0]und arg[1]als nulls. Aber wenn ich anrufe foo(null), ist argselbst null. Warum passiert dies? Wie soll ich anrufen , fooso dass foo.length == 1 && foo[0] == nullist true?
Wie kann ich die Anzahl der Argumente für eine variable Vorlagenfunktion ermitteln? dh: template<typename... T> void f(const T&... t) { int n = number_of_args(t); ... } Was ist der beste Weg, um number_of_argsdas oben genannte zu implementieren ?
Ich habe eine Klasse, die eine "Fehler" -Funktion enthält, die Text formatiert. Ich möchte eine variable Anzahl von Argumenten akzeptieren und sie dann mit printf formatieren. Beispiel: class MyClass { public: void Error(const char* format, ...); }; Die Error-Methode sollte die Parameter übernehmen, printf / sprintf aufrufen, um sie zu …
Es gibt verwandte Fragen, z. B. Wie kann ich zwei Parameter an eine AsyncTask-Klasse übergeben? Aber ich hatte die Schwierigkeit, vergeblich zu versuchen, mehrere Grundelemente als Parameter an eine AsyncTask zu übergeben, und möchte daher mitteilen, was ich entdeckt habe. Diese Subtilität wird in den vorhandenen Fragen und Antworten nicht …
Ich dachte, ich könnte benannte Parameter nach Positionsparametern variabler Länge in einem Funktionsaufruf in Python 2 verwenden, aber SyntaxErrorbeim Importieren einer Python-Klasse erhalte ich eine . Ich schreibe zum Beispiel mit der folgenden "get" -Methode: class Foo(object): def __init__(self): print "You have created a Foo." def get(self, *args, raw=False, vars=None): …
Betrachten Sie den folgenden Code: private def test(some:String*){ } private def call () { val some = Array("asd", "zxc") test(some) } Es druckt expect String, found Array[String]Warum? Sind Scala-Varargs keine Arrays? Hinweis Ich habe im Stapelüberlauf mehrere Fragen zu Scala-Varargs gefunden, aber bei allen geht es darum, Java-Varargs-Methoden aufzurufen oder …
Beim Versuch, diesen Code zu kompilieren #include <stdarg.h> void bar_ptr(int n, va_list *pvl) { // do va_arg stuff here } void bar(int n, va_list vl) { va_list *pvl = &vl; // error here bar_ptr(n, pvl); } void foo(int n, ...) { va_list vl; va_list *pvl = &vl; // fine here …
Es scheint, dass GLIBC 2.28 (veröffentlicht im August 2018) eine ziemlich aggressive Änderung an fcntl vorgenommen hat. Die Definition wurde geändert, <fcntl.h>um keine externe Funktion mehr zu sein, sondern eine #definezu fcntl64 . Das Ergebnis ist , dass , wenn Sie Ihren Code auf einem System mit diesem glibc kompilieren …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.