কখনও কখনও আমরা দেখি যে প্রধান ফাংশনের সংজ্ঞা দুই প্রকার। int main() এবং int main(void)। তাহলে কি কোনো পার্থক্য আছে?
C++ এ, কোন পার্থক্য নেই। সি-তেও দুটোই সঠিক। কিন্তু দ্বিতীয়টি টেকনিক্যালি ভালো। এটি নির্দিষ্ট করে যে ফাংশনটি কোন যুক্তি গ্রহণ করছে না। C-তে যদি কিছু ফাংশন আর্গুমেন্টের সাথে নির্দিষ্ট করা না থাকে, তাহলে এটিকে কোনো আর্গুমেন্ট বা যেকোনো সংখ্যক আর্গুমেন্ট ব্যবহার করে বলা যেতে পারে। এই দুটি কোড চেক করুন. (মনে রাখবেন এগুলি C-তে C++ নয়)
উদাহরণ
#include<stdio.h> void my_function() { //some task } main(void) { my_function(10, "Hello", "World"); }
আউটপুট
This program will be compiled successfully
উদাহরণ
#include<stdio.h> void my_function(void) { //some task } main(void) { my_function(10, "Hello", "World"); }
আউটপুট
[Error] too many arguments to function 'my_function'
C++ এ, উভয় প্রোগ্রামই ব্যর্থ হবে। সুতরাং এটি থেকে আমরা বুঝতে পারি যে int main() কে C-তে যেকোন সংখ্যক আর্গুমেন্ট দিয়ে কল করা যেতে পারে। কিন্তু int main(void) কোনো আর্গুমেন্ট অনুমোদন করবে না।