A C/C++ Function Call Puzzle (original) (raw)

Last Updated : 23 Jul, 2025

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

C `

#include<stdio.h>

void func() { /* definition */ }

int main() { func(); func(2); }

C++

#include 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.