dcsimg
Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: Java Language
Expertise: Beginner
Aug 11, 2000

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


Void Function Arguments

Question:
Why does Java accept function declarations like
public void func();
but not declarations like
public void func(void);

Answer:
Java is not C. Despite the similar syntax, all C idioms do not translate to Java. In C, an empty argument list in a function prototype implies that the function may in fact accept any number of arguments of any type. ANSI C requires that a prototype have a void argument list in order for the compiler to treat it as taking no arguments. C++ changed this behavior and specified that all empty argument lists in function prototypes were implicitly void. Java does the same thing, except that Java does not support the types of C behavior that necessitate the void argument list. For example, you can pass any number of arguments of any type to a C function declared with no arguments. The following is a legal C program that demonstrates this, but you shouldn't write code like this unless you have a very good reason.

void foo();

int main() {
  foo(4);
  foo(8, 5);
}

void foo(int a, int b) {
  printf("%d\n", a);
}
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date