দ্রুত উত্তর: পরিবর্তন int testlib()
করতে int testlib(void)
নির্দিষ্ট করতে যে ফাংশন কোন যুক্তি লাগে।
একটি প্রোটোটাইপ সংজ্ঞা দ্বারা একটি ফাংশন ঘোষণা যা ফাংশনের আর্গুমেন্ট (গুলি) এর ধরণ (গুলি) নির্দিষ্ট করে।
একটি অ-প্রোটোটাইপ ফাংশন ঘোষণার মতো
int foo();
একটি পুরানো শৈলীর ঘোষণা যা আর্গুমেন্টের সংখ্যা বা প্রকারগুলি নির্দিষ্ট করে না। (1989 এএনএসআই সি স্ট্যান্ডার্ডের পূর্বে, ভাষায় এটি কেবল একমাত্র ফাংশন ডিক্লারেশন ছিল)) আপনি যেকোন স্বেচ্ছাসেবী যুক্তি সহ এই জাতীয় ফাংশনটি কল করতে পারেন, এবং সংকলকটি অভিযোগ করার প্রয়োজন নেই - তবে যদি কল সংজ্ঞা সংবিধানের সাথে সঙ্গতিপূর্ণ নয় , আপনার প্রোগ্রামটির অপরিবর্তিত আচরণ রয়েছে।
এক বা একাধিক আর্গুমেন্ট গ্রহণ করে এমন কোনও ক্রিয়াকলাপের জন্য, আপনি ঘোষণায় প্রতিটি যুক্তির ধরণ নির্দিষ্ট করতে পারেন:
int bar(int x, double y);
কোনও যুক্তি ছাড়াই কাজগুলি একটি বিশেষ কেস। যৌক্তিকরূপে, খালি বন্ধনীগুলি যুক্তিটি নির্দিষ্ট করার একটি ভাল উপায় হতে পারে তবে পুরানো-শৈলীর ফাংশন ঘোষণার জন্য সিনট্যাক্সটি ইতিমধ্যে ব্যবহৃত ছিল, তাই এএনএসআই সি কমিটি মূল void
শব্দটি ব্যবহার করে একটি নতুন সিনট্যাক্স আবিষ্কার করেছিল :
int foo(void); /* foo takes no arguments */
একটি ফাংশন সংজ্ঞা (যা ফাংশনটি আসলে কী করে তার কোড সহ) একটি ঘোষণাও সরবরাহ করে । আপনার ক্ষেত্রে, আপনার অনুরূপ কিছু রয়েছে:
int testlib()
{
/* code that implements testlib */
}
এটি এর জন্য একটি অ-প্রোটোটাইপ ঘোষণা সরবরাহ করে testlib
। একটি সংজ্ঞা হিসাবে, এটি সংকলকটিকে বলে যেটির testlib
কোনও পরামিতি নেই, তবে একটি ঘোষণাপত্র হিসাবে, এটি কেবলমাত্র সংকলককে বলে যা testlib
কিছু অনির্দিষ্ট কিন্তু নির্দিষ্ট নম্বর এবং যুক্তিগুলির ধরণ (গুলি) নেয়।
আপনি ঘোষণায় পরিবর্তন ()
হলে (void)
একটি প্রোটোটাইপ হয়ে যায়।
প্রোটোটাইপের সুবিধা হ'ল আপনি যদি দুর্ঘটনাক্রমে testlib
এক বা একাধিক যুক্তি দিয়ে কল করেন তবে সংকলক ত্রুটিটি সনাক্ত করে।
(সি ++ কিছুটা ভিন্ন নিয়ম আছে। সি ++ পুরোনো শৈলী ফাংশন ঘোষণা, এবং খালি প্রথম বন্ধনী বিশেষভাবে গড় যে একটা ফাংশন কোনো আর্গুমেন্ট লাগে নেই। সি ++ সমর্থন (void)
সিনট্যাক্স সি এর সাথে সঙ্গতির জন্য কিন্তু আপনারা যদি না বিশেষভাবে উভয় কম্পাইল করার আপনার কোড প্রয়োজন সি এবং সি ++ হিসাবে আপনার সম্ভবত ()
সি ++ এবং (void)
সি তে বাক্য গঠন ব্যবহার করা উচিত )