Avatar ·

خطأ "undefined reference/unresolved external symbol" في C++: الأسباب والحل

مرحبًا بالجميع! أنا مبتدئ في لغة C++ وأواجه منذ ساعات خطأً لا أستطيع فهمه. المترجم يُظهر شيئًا مثل: ``` undefined reference to `MyClass::myFunction()' ``` أو ``` unresolved external symbol "public: void __thiscall MyClass::myFunction(void)" (?myFunction@MyClass@@QAEXXZ) referenced in function _main ``` إليك الكود الخاص بي. لدي ثلاثة ملفات: **main.cpp:** ```cpp #include "myclass.h" int main() { MyClass obj; obj.myFunction(); return 0; } ``` **myclass.h:** ```cpp #ifndef MYCLASS_H #define MYCLASS_H class MyClass { public: void myFunction(); }; #endif ``` **myclass.cpp:** ```cpp #include "myclass.h" #include void MyClass::myFunction() { std::cout << "Hello from myFunction!" << std::endl; } ``` أقوم بالتجميع في Visual Studio أو عبر g++ بأمر واحد: `g++ main.cpp -o program`. كل شيء يفشل مع هذا الخطأ. لقد تحققت من أن الملفات في نفس المجلد، وأن ملف الرأس متصل بشكل صحيح.