الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة غريبة في ال c++

مغلق
بدأه Wase3 Sadr في 16 ديسمبر 2004 · 3 رد · 350 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

معليش على القلق والإزعاج اللي سويته .. لكن عندي مشكلة قهرتني !!

انا سويت لاب في الـ c++ .. وهاللاب هو إنهيرتنس ..

يتكون من 3 كلاسات ..

ويتكون من 7 ملفات ..

Insurance.h

Insurance.cpp

Home.h

Home.cpp

AutoMobile.h

AutoMobile.cpp

main.cpp

الغريب .. لما أسوي كومبايل للفايل يطلع لي هالنتيجة .. :

--------------------Configuration: main - Win32 Debug--------------------
Compiling...
main.cpp

main.obj - 0 error(s), 0 warning(s)

لكن لما أحاول أسوي run للبرنامج ! يعطيني هالخطأ ..

--------------------Configuration: main - Win32 Debug--------------------
Linking...
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall Home::getHome(void)" (?getHome@Home@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall Home::setHome(void)" (?setHome@Home@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall AutoMobile::getAutoMobile(void)" (?getAutoMobile@AutoMobile@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall AutoMobile::setAutoMobile(void)" (?setAutoMobile@AutoMobile@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall Home::Home(int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,double,double,double,double,double)" (??0Home@@QAE@HHV?$basic_string@
DU?$char_traits@D@std@@V?$allocator@D@2@@std@@NNNNN@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall AutoMobile::AutoMobile(int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,double,class std::basic_string<char,struct std::char_trai
ts<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,double,double)" (??0AutoMobile@@QAE@HHV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N00HNN@Z)
Debug/main.exe : fatal error LNK1120: 6 unresolved externals
Error executing link.exe.

main.exe - 7 error(s), 0 warning(s)

وأتعبني ! عور راسي بجد ..

وش الحل ؟؟؟؟ .. وايش المشكلة بالتحديد ..

والغريب .. لما أجمع الأكواد الموجوده في الملفات كلها .. وأضمها في ملف واحد ..

يشتغل البرنامج معي بشكل سليم وبدون أي مشاكل !!!!

شي غريب فعلا ..

وهذا الشي شككني في أن طريقة الربط فيما بين الملفات خاطئة لأنه أشتغل أول ماوضعتها في ملف واحد ..

لكن .. هذي هي طريقة الـ include في الملفات ..

main.cpp

#include "Insurance.h"
#include "AutoMobile.h"
#include "Home.h"

إستدعاء لملف الكلاس الأول وهو الـ Base Class ..

إستدعاء للكلاس الثاني والثالث AutoMobile & Home ..

وأضن الوضع هنا سليم جدا ..

في ملف الـ base class اللي هو Insurance.h أضفت فيها الكود هذا ..

#ifndef Insurance_H
#define Insurance_H

The Class 

#endif

برضوا .. أستدعاء الـ Base Class في الكلاسات الأخرى تمام ..

في AutoMobile.h :

#include "Insurance.h"

وأيضا في Home.h :

#include "Insurance.h"

الأمر لحد الآن أرى أنه 100% ..

في ملف Home.cpp إستدعاء للـ Home Class وللـ Base Class ايضا :

#include "Home.h"
#include "Insurance.h"

وفي ملف AutoMobile.cpp أيضا .. :

#include "AutoMobile.h"
#include "Insurance.h"

وين المشكلة طيب

تم تعديل هذه المشاركة بواسطة Wase3 Sadr في 16 ديسمبر 2004 في 17:40

#2

أتمنى مساعدتي في أقرب فرصه :(

#3

تاكد اخي من ان اسماء الملفات الرئيسيه المكتوبه في ملف كود البرنامج

مطابقه لاسماء الملفات الرئيسيه و التي تحمل الامتداد .h

#4

يعطيك العافيه أخوي على مشاركتك ..

لكن تأكدت من أسماء الملفات .. وطلعت سليمة !

وطرق الإستدعاء للملفات كتبتها ..

وبرضوا تأكدت من سلامتها ..

ولحد الآن موب عارف وش المشكلة ؟؟

هذا الموضوع مغلق.

مواضيع مشابهة