কম্পিউটার

C++ এ অনির্ধারিত রেফারেন্স/অমীমাংসিত বাহ্যিক প্রতীক ত্রুটিগুলি কী কী?


নাম থেকে বোঝা যায়, আপনি ঘোষিত একটি প্রতীক আপনার দ্বারা সংজ্ঞায়িত হয়নি৷ এটি অনেক ক্ষেত্রেই ঘটতে পারে। আসুন তাদের তিনটির দিকে নজর দেওয়া যাক -

  • আপনি ঘোষিত নাম সংজ্ঞায়িত করতে ভুলে গেছেন। উদাহরণস্বরূপ, আপনি একটি ফাইলে একটি ফাংশন ঘোষণা করেছেন এবং এটি কোথাও ব্যবহার করেছেন। কিন্তু আপনি এর সংজ্ঞা দেননি। কোড -

#include<iostream>
void foo();
int main() {
   foo(); // Declared but not defined
}
  • আপনি এটি সংজ্ঞায়িত করেছেন কিন্তু যোগ্য নাম ব্যবহার করেননি। বলুন আপনি একটি পদ্ধতির সাথে একটি ক্লাস তৈরি করেছেন এবং সেই পদ্ধতিটিকে সংজ্ঞায়িত করেছেন কিন্তু সেই সংজ্ঞাটির সাথে সেই ফাংশনটিকে লিঙ্ক করতে সুযোগ রেজোলিউশন ব্যবহার করে ভুলে গেছেন এবং সেই ফাংশনটি কোথাও ব্যবহার করেছেন। উদাহরণস্বরূপ,

#include<iostream>
class A {
   void foo();
};
void foo() { } // should have used A::foo
int main() {
   A a;
   a.foo(); // Not defined!
}
  • আপনি ভুল ক্রমে নির্ভরতা অন্তর্ভুক্ত করেননি। লিঙ্কার আপনার নির্দিষ্ট ক্রমে লিঙ্ক করার চেষ্টা করে। সুতরাং আপনি যদি তার সংজ্ঞার আগে একটি পদ্ধতি ব্যবহার করেন, এটি সম্ভবত এই ত্রুটিটি দেবে।

এই ত্রুটির কারণ হতে পারে এমন শর্তগুলির একটি সম্পূর্ণ তালিকা তৈরি করা সম্ভব নয়৷ তবে আপনি সম্ভাব্য কারণগুলির একটি খুব ভালভাবে সংশোধিত তালিকার জন্য এই পোস্টটি উল্লেখ করতে পারেন - https://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and- কিভাবে-ডু-আই-ফিক্স


  1. C++ এ টাইপ কোয়ালিফায়ার কি?

  2. C++ এ অক্ষর অক্ষর কি কি?

  3. C++ এ বুলিয়ান লিটারেল কি?

  4. C++ এ স্ট্যান্ডার্ড লাইব্রেরি কি?