preethi selvaraju
preethi selvaraju

Reputation: 155

c and c++ function declaration & definition : specifying data type

I am working on porting c code to c++. The below C program compiles successfully. But in c++, it throws an error. I know its really basic thing. I've more than 100 functions declared in this way. Is there any flag we can add to compile successfully instead of modifying all the functions.

int sum(m,n)
int m,n;
{
    return m+n;
}

Upvotes: 1

Views: 99

Answers (1)

Jabberwocky
Jabberwocky

Reputation: 50775

This is very old style C. Nobody should have been using this for the last 30 years. You can't compile this with a C++ compiler. There are no compiler flags whatsoever for this, at least in the compilers I'm aware of (clang, gcc, microsoft compilers).

You should transform all functions that have the form

int sum(m,n)
int m,n;
{
    return m+n;
}

int to the form

int sum(int m, int n)
{
    return m+n;
}

If you have 100 functions it should be doable. But there may be many other problems because C++ is not an exact superset of C.

This SO article may be interesting for you: Function declaration: K&R vs ANSI

Upvotes: 5

Related Questions