আমি একটি সি ম্যাক্রো তৈরি করতে চাই যা লাইন নম্বরটির উপর ভিত্তি করে একটি নাম দিয়ে একটি ফাংশন তৈরি করে। আমি ভেবেছিলাম আমি এর মতো কিছু করতে পারি (আসল ফাংশনটির ধনুর্বন্ধনীগুলির মধ্যে বিবৃতি থাকবে):
#define UNIQUE static void Unique_##__LINE__(void) {}
যা আমি প্রত্যাশা করেছিলাম এমন কিছুতে প্রসারিত হবে:
static void Unique_23(void) {}
যে কাজ করে না। টোকেন কনকেনটেশন সহ, অবস্থান ম্যাক্রোগুলিকে আক্ষরিক অর্থে চিকিত্সা করা হয়, এতে প্রসারিত হয়ে শেষ হয়:
static void Unique___LINE__(void) {}
এটা কি সম্ভব?
(হ্যাঁ, এটি যতটা নিরর্থক বলে মনে হোক না কেন আমি এটি করার একটি বাস্তব কারণ আছে)।
__LINE__
(যদিও এটি সাধারণ ব্যবহারের ক্ষেত্রে