ভাষাতে দুটি ধরণের ধরণের রয়েছে যার কনস্ট-যোগ্যতা থাকতে পারে না : রেফারেন্সের ধরণ এবং ফাংশনের ধরণ। সুতরাং, যদি const T
কোনও কনস্ট-কোয়ালিফাইড টাইপ হতে ব্যর্থ হয় তবে এর অর্থ T
হয় কোনও ফাংশন টাইপ বা কোনও রেফারেন্স টাইপ। আপনি যদি রেফারেন্সের ধরণগুলি বাতিল করতে পারেন তবে কেবলমাত্র ফাংশন প্রকারের সাথে আপনার বাকী রয়েছে।
নোট যে একটা ফাংশন টাইপ এর মত CV-কোয়ালিফায়ার বহন করে যে, int(int) const
হয় না একটি const-যোগ্যতাসম্পন্ন প্রকার। এটি একটি "জঘন্য ফাংশন ধরণের" উদাহরণ, যার একমাত্র আসল ব্যবহার পয়েন্টার-থেকে-সদস্য-ফাংশনের ধরণের রচনা বা পচন করা। int(int) const
শীর্ষে কনস্ট-কোয়ালিফিকেশন যুক্ত করে টাইপটি পাওয়া যায় না int(int)
। বরং const
প্রয়োগিত বস্তুর প্যারামিটারে প্রয়োগ হয়।
!is_const
অংশ সম্পর্কে চিন্তা করুন ।