C এবং C++ অনেক দিক থেকে সাদৃশ্যময়। C++-তে অবজেক্ট-ওরিয়েন্টেড ফিচার থাকে, তবে অধিকাংশ C প্রোগ্রাম C++-এও সঠিকভাবে কম্পাইল হয়। এখানে আমরা একটি ফাংশন কল সম্পর্কিত প্রোগ্রাম দেখব যা C-এ রান হয় কিন্তু C++-এ কম্পাইল টাইমে এরর দেয়।
উদাহরণ
#include <stdio.h>
void myFunction() {
printf("Function called\n");
}
int main() {
myFunction();
myFunction(2);
}
আউটপুট (C-এ)
Function called Function called
এই প্রোগ্রাম C-এ কম্পাইল ও রান হয় এবং আউটপুট দেয়। কিন্তু C++-এ কম্পাইল করলে এরর আসবে: "too many arguments passed"। কারণ C++-এ ফাংশন ডিক্লারেশনে প্যারামিটার না থাকলে সেটি কোনো আর্গুমেন্ট গ্রহণ করে না, কিন্তু C-এ এটিকে অনির্দিষ্ট আর্গুমেন্ট হিসেবে বিবেচনা করা হয়।