בעית ב linkage....דחוף

בעית ב linkage....דחוף

יש לי פרוייקט עם הרבה קלאסים בקבצים שונים, וכולם אמורים לכתוב את הפלט שלהם לאותו קובץ פלט שהגדרתי כקלאס נפרד. את הקבצים הגלובליים הגדרתי בקובץ H נפרד בצורה הבאה: #ifndef _GLOBAL_H_ #define _GLOBAL_H_ #include <FSTREAM.H> #include "FileReader.h" #include "FileWriter.h" // Globals extern FileReader* inFile = new FileReader("test.txt"); extern FileWriter* outFile = new FileWriter("out.txt"); #endif אבל בכל זאת הוא מודיע לי שבאחד הקבצים יש את הטעטת הבאה error LNK2005: "class FileReader * inFile" (?inFile@@3PAVFileReader@@A) already defined לשני הקלאסים. אולי משהו יודע ממה נובעת הטעות??? תודה!!!
 

HaRmosh

New member
אני חושב שהבעיה

היא בזה שאת מנסה לעשות:
extern FileWriter* outFile = new FileWriter("out.txt");​
כלומר לאתחל משתנה חיצוני. על משתנה חיצוני רק מצהירים, ואני חושב שנסיון האתחול יוצר את הבעיה. הפתרון - לאתחל אותו במקום המקורי בו הוא מוגדר, ובשאר המקומות רק להצהיר עליו כחיצוני.
 
למעלה