সংক্ষিপ্ত বিবরণ
C এবং C++-এ খালি প্যারামিটার লিস্টवाले ফাংশনে আর্গুমেন্ট পাস করলে আচরণ ভিন্ন হয়।
কোড
void method() { /* প্রিন্ট */ }
int main() {
method();
method(2); // আর্গুমেন্ট পাস
}
আউটপুট পার্থক্য
| ল্যাঙ্গুয়েজ | ফলাফল |
|---|---|
| C++ | Error: too many arguments to function 'void method()' |
| C | প্রোগ্রাম এরর ছাড়া চলে (আর্গুমেন্ট ইগনোর হয়) |
কারণ
- C++: `void method()` মানে কোনো প্যারামিটার নেই (স্ট্রিক্ট টাইপ চেকিং)
- C: `void method()` মানে প্যারামিটার লিস্ট অনির্দিষ্ট (K&R স্টাইল), ভেরিয়াডিক ফাংশনের মতো আচরণ করে
- C-তে সঠিকভাবে প্যারামিটার নেই বোঝাতে `void method(void)` লিখতে হয়