Es ist die Deklaration einer Funktion, die eine Liste variabler Variablen nimmt und einen Verweis auf ein Array von 2 char
zurückgibt.
Beachten Sie, dass, wenn eine Funktion wie diese definiert ist, die Parameter nicht zugänglich sind (über Standardmittel), da die <cstdarg>
Makros eine variable Argumentliste benötigen, um einem benannten Parameter zu folgen.
Wenn Sie möchten, können Sie mit dieser Deklaration eine Funktion definieren und einen Verweis auf ein geeignetes Array zurückgeben. Sie können sie mit beliebigen Parametern aufrufen, wobei die Einschränkungen für ...
Parameter gelten, die die Einschränkungen enthalten, dass das Übergeben von Nicht-POD-Klassentypen zu undefiniertem Verhalten führt.
z.
namespace
{
char samplearray[2];
}
char (& test(...))[2]
{
return samplearray;
}
Was macht ein anonymer Namespace im obigen Code? –
Variablen, die im anonymen Namespace definiert sind, können nicht außerhalb der Datei, in der sich der Namespace befindet, "extern" werden. – Donotalo