এটা সব লিঙ্কেজ সম্পর্কে ।
পূর্ববর্তী উত্তর সম্পর্কে ভাল ব্যাখ্যা প্রদান extern।
তবে আমি একটি গুরুত্বপূর্ণ বিষয় যুক্ত করতে চাই।
আপনি সম্পর্কে জিজ্ঞাসা externমধ্যে সি ++ নেই সেঃ এবং আমি জানি না কেন মামলা উল্লেখ উত্তর নেই যখন externদিয়ে আসে constC ++।
সি ++ এ, কোনও constভেরিয়েবলের ডিফল্টরূপে অভ্যন্তরীণ সংযোগ থাকে (সিটির মতো নয়)।
সুতরাং এই পরিস্থিতিতে লিঙ্কিং ত্রুটির দিকে পরিচালিত করবে :
উত্স 1:
const int global = 255; //wrong way to make a definition of global const variable in C++
উত্স 2:
extern const int global; //declaration
এটি এর মতো হওয়া দরকার:
উত্স 1:
extern const int global = 255; //a definition of global const variable in C++
উত্স 2:
extern const int global; //declaration
externবেশ কয়েকটি অনুষ্ঠানে একটি সংজ্ঞা দিতে হয়েছিল। মাইক্রোসফ্ট সরঞ্জামগুলি প্রতীক হারিয়ে যাওয়ার জন্য একটি লিঙ্ক ত্রুটি তৈরি করেছিল যখন অন্য উত্স ফাইলের টেবিলগুলি কেবলমাত্র সংজ্ঞায়িত করা হত। সমস্যাটি ছিল, সারণীটি ছিলconstএবং সি ++ সংকলকটিstaticঅনুবাদ ইউনিটে উন্নীত করে । উদাহরণস্বরূপ দেখুন,ariatab.cppএবংkalynatab.cpp।