কারণ অব্যবহৃত থাকার প্রোটোটাইপ মধ্যে পরামিতি সাধারণত ফাংশন কিছু বহিরাগত এপিআই চাহিদার সাথে সামঞ্জস্য থেকে কারণ হয় - সম্ভবত এটি একটি লাইব্রেরি ফাংশন, বা যে ফাংশন একটি পয়েন্টার অন্য ফাংশন যে এই আহ্বান সম্মেলন আশা প্রেরণ করা হয়। তবে কলিং কনভেনশন দ্বারা ব্যবহৃত সমস্ত যুক্তিগুলি আসলে ফাংশনেই প্রয়োজন হয় না।
শরীরে পরামিতিটির নাম উল্লেখ করার কারণটি হ'ল সতর্কতা এড়ানো
unused.c: In function ‘l_alloc’:
unused.c:3:22: warning: unused parameter ‘ud’ [-Wunused-parameter]
void *l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) {
^~
এই সতর্কতাটি ফাংশন বডিটিতে প্রকৃত প্যারামিটার ব্যবহার করে দমন করা যেতে পারে। উদাহরণস্বরূপ আপনার যদি নিম্নলিখিত বিবৃতিটি থাকে:
ud;
এই সতর্কতা এখন দমন করা হয়। তবে এখন জিসিসি আরেকটি সতর্কতা উত্পন্ন করবে :
unused.c:5:5: warning: statement with no effect [-Wunused-value]
ud;
^~
এই সতর্কতাটি জানিয়েছে যে বিবৃতিটি ud;
সিন্টেক্সিকভাবে বৈধ সি হওয়ার সময় কিছুতেই কোনও প্রভাব ফেলবে না এবং সম্ভবত একটি ভুল, বিবৃতিটির বিপরীতে নয়
abort;
যা সম্ভবত abort();
এটি কিছু করার পরিবর্তে হিসাবে লেখা উচিত ছিল ।
এবং সেখানেই (void)
castালাই আসবে - এটি সংকলকটিকে নির্বিঘ্নে এবং স্পষ্টভাবে বলবে যে বিবৃতিটির একেবারে কোনও প্রভাব নেই বলে মনে করা হচ্ছে।