Open In App

A C/C++ Function Call Puzzle

Consider the following program. Predict the output of it when compiled with C and C++ compilers.




#include<stdio.h>
 
void func()
{
    /* definition */
}
 
int main()
{
    func();
    func(2);
}




#include <iostream>
using namespace std;
 
void func()
{
    /* definition */
}
 
int main() {
    func();
    func(2);
 
    return 0;
}

The above program compiles fine in C, but doesn’t compile in C++.

In C++, func() is equivalent to func(void) 
In C, func() is equivalent to func(…)

Refer this for details and this for more programs that compile in C, but not in C++.

This article is compiled by Rahul Mittalal.
 

Article Tags :