19 Stimmen

Was ist int(a)(1)? Ist dies eine gültige C++-Syntax?

#include <iostream>
int main()
{
    // ------- some statements ---------

    int(a)(1);

    // -------- some other statements .......
    return 0;
}

Ich habe diese Anweisung in einem C++-Programm gesehen. Dies führte nicht zu einem Syntaxfehler.

Was ist a hier? Ist dies eine gültige C++-Syntax?

29voto

GManNickG Punkte 476445

Es ist in Ordnung, den Namen der Variablen in Klammern zu setzen:

int i;
int (i); // exact same

In Ihrem Fall also:

int a(1); // initialized with 1
int (a)(1); // exact same

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X