Was ist der Zweck einer Deklaration wie int (x); oder int (x) = 10;

Wenn Sie sich die Grammatik für @ anseh*declarator*s in §8/4 Sie werden feststellen, dass einnoptr-declarator kann geschrieben werden als ptr-declarator), das heißt, es kann geschrieben werden als declarator-id), das Deklarationen wie die im Titel validiert. Tatsächlich kompiliert dieser Code problemlos:

#include <iostream>
struct A{ int i;};
int (x) = 100;
A (a) = {2};
int main()
{
    std::cout << x << '\n';
    std::cout << a.i << '\n';
}

Aberwas ist der Zweck, diese Klammern zuzulassen Wenn ein Zeiger (auf ein Array oder eine Funktion) nicht an der Deklaration beteiligt ist?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage