弑天下
通常允许在此类声明中使用括号,因为从语法的角度来看,声明总是像这样: ;例如,在以下声明中:int* p[2];“ front type”是int(不是int*),“ specification”是* p[2]。规则是,您可以根据需要在“规格”部分中使用任意数量的括号,因为有时不可避免地要消除歧义。例如:int* p[2]; // array of 2 pointers to int; same as int (*p[2]);int (*p)[2]; // pointer to an array of 2 ints指向数组的指针很少见,但是与指向函数的指针相同:int (*func(int)); // declares a function returning int*int (*func)(int); // declares a pointer to function returning int这是您问题的直接答案。如果您的问题是关于的声明C(y),则:在整个表达式中(C(y))加上括号- 您将得到想要的该语句除了创建一个临时对象外什么都不做,在该指令结束后,该对象将不再存在(我希望这是您要执行的操作)。