Sign in to follow this  

Main incompatibility of C code in C++

This topic is 2894 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Well my question is simple: what are the main things one should watch out for when looking at C code to "port" them to C++ code?

Share this post


Link to post
Share on other sites
What do you mean exactly by "porting" C code to C++? Most modern C++ compilers support the relevant features of C99, meaning that C code will generally compile as C++. Cases where features exist in C99 but not in C++98/03, such as long long, are usually bridged by compiler extensions. Perhaps you're referring to the process of converting a procedural system into an object-oriented one?

Share this post


Link to post
Share on other sites
Quote:
Original post by paul23
Well my question is simple: what are the main things one should watch out for when looking at C code to "port" them to C++ code?


There are very little issues that you might encounter when compiling C as C++ (in terms of compiler errors). For example, if you have some really really old C then you might encounter the old-style function parameters:

func(a, b) // implicit int return type
// declaring the parameter types
int a;
char b;
{
if (b == 'a') return a;
return 42;
}

Which is not valid in C++.

Share this post


Link to post
Share on other sites
Quote:
Original post by Windryder
What do you mean exactly by "porting" C code to C++? Most modern C++ compilers support the relevant features of C99, meaning that C code will generally compile as C++. Cases where features exist in C99 but not in C++98/03, such as long long, are usually bridged by compiler extensions. Perhaps you're referring to the process of converting a procedural system into an object-oriented one?


Nah, just to those feature cases as you said.. - It's not that the code won't compile, I just want to know the differences..

Share this post


Link to post
Share on other sites

This topic is 2894 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this