【发布时间】:2016-07-17 05:09:02
【问题描述】:
为什么在函数定义中 void 写在 static keyword 之后?
我尝试在 static 关键字之前写一个 void。
它给了我一个错误并显示一条消息。
易变
【问题讨论】:
为什么在函数定义中 void 写在 static keyword 之后?
我尝试在 static 关键字之前写一个 void。
它给了我一个错误并显示一条消息。
易变
【问题讨论】:
我假设您指的是 C 或 C++,所以这只是定义它的起始符,它使为编译器编写解析器的人的生活更轻松(他们不必猜测顺序关键字)。
关于将语言用作程序员:void 指的是函数的返回类型,并且是函数声明的一部分,就像它的名称和参数一样。 static 关键字在每种语言中表示不同的内容。简而言之,在 C 中,这意味着该函数仅在该文件中可见,在 C++(和 Java)中,该函数不需要this,并且可以在类本身上调用(没有实例)。有关此问题的更多信息,请阅读this question
【讨论】:
看,这是任何语言的标准,其中static 告诉该函数可以从任何地方访问,void 告诉该函数不返回任何内容,并且void 是一个返回类型,返回类型是总是写在函数名之前,所以你不能把static放在中间,你必须写在前面。希望你理解
【讨论】:
void 是定义方法返回类型的关键字。在void 的情况下,它只是说该方法不会返回任何内容。您可以将其他内容(int、String 等)放在那里,但它们必须反映您想要返回的内容(如果您有不会返回的代码路径,您应该会收到错误消息)。
void 需要在static 之后的原因是因为这是语言定义的。返回类型位于方法名称之前。您收到错误是因为您以编译器不期望的方式定义方法。
【讨论】: