কম্পিউটার

C/C++ ফাংশন কল পাজল?


এই C/C++ ফাংশন কল পাজল হল একটি ধাঁধা যা C এবং C++/ উভয় প্রোগ্রামিং ভাষাতেই মেথড কলিং এর আচরণ সম্পর্কে আরও অন্বেষণ করার উদ্দেশ্যে।

C এবং C++ এ একটি পদ্ধতির আউটপুট ভিন্ন। চলুন দেখি C এবং C++ এ কলিং পদ্ধতির পার্থক্য কি।

আসুন একটি উদাহরণ নেওয়া যাক এবং c এবং c++ এ নীচের কোডের আউটপুট পরীক্ষা করুন।

উদাহরণ

void method() {
   // Print statement
}
int main() {
   method();
   method(2);
}

আউটপুট

C++ - এর জন্য

Error : too many arguments to function ‘void method()’
ফাংশন করার জন্য অনেক বেশি আর্গুমেন্ট

C - এর জন্য

Program runs without any error.

আউটপুট এবং ত্রুটির পিছনে যুক্তি

C++ প্রোগ্রামিং ল্যাঙ্গুয়েজের কম্পাইলাররা ফাংশন মেথড() কে কোনো প্যারামিটার ছাড়াই একটি ফাংশন হিসেবে বিবেচনা করে যেখানে C কম্পাইলারের একই ফাংশন বেশ দক্ষতার সাথে কাজ করে কারণ কম্পাইলার ফাংশন মেথড() কে এমন একটি ফাংশন হিসেবে বিবেচনা করে যা পরিবর্তনশীল আর্গুমেন্ট গ্রহণ করতে পারে।

এর কারণে i C++ যখন আমরা এমন একটি পদ্ধতিতে আর্গুমেন্ট পাস করি যার সংজ্ঞায় কোনো প্যারামিটার নেই তখন আউটপুট উইন্ডোতে একটি ত্রুটি প্রম্পট হবে 'ত্রুটি:'অকার্যকর ফাংশন()' ফাংশনের জন্য অনেকগুলি আর্গুমেন্ট।

এবং সি-তে, পাস করা আর্গুমেন্ট গৃহীত হয় এবং ফাংশনের ভিতরের কোডটি কার্যকর করা হয়।


  1. C/C++ এ putwchar() ফাংশন

  2. mbsrtowcs() ফাংশন C/C++ এ

  3. C/C++ এ A-বাফার পদ্ধতি?

  4. C/C++ এ সিস্টেম() ফাংশন