エラーが発生しました私の大きなオペレーティングシステムの宿題を修正する方法がわかりません。私が得ているエラーは、 "x86_64アーキテクチャーの42の重複したシンボル"です。私はグローバル変数ファイル "global.h"と関係があると考えています。私は3つのグローバル変数を使用し、 "global.h"は "PageReplacementAlgorithm.cpp"という抽象クラスに含まれています。私はPageReplacementAlgorithmクラスから派生した約6つのクラスを持っており、これらのグローバル変数を利用しています。私は、私がそれらの新しいインスタンスを作る必要があるので、私が "main.cpp"にこれらの派生クラスをすべて含めると問題が発生すると思います。グローバル変数の実装を修正するにはどうすればよいですか?グローバル変数エラーC++
GLOBAL.H
#include "PageTableEntry.h"
using namespace std;
#ifndef Global_H
#define Global_H
extern PageTableEntry pageTable[64];
extern int* frameTable;
extern int framesCount;
#endif
PageReplacementAlgorithm.h
#include "Global.h"
using namespace std;
#ifndef PageReplacementAlgorithm_H
#define PageReplacementAlgorithm_H
class PageReplacementAlgorithm {
public:
virtual int selectFrame(PageTableEntry &p) = 0;
};
#endif
例派生クラス(FIFO)
include "PageReplacementAlgorithm.h"
using namespace std;
#ifndef FIFO_H
#define FIFO_H
class FIFO : public PageReplacementAlgorithm {
public:
FIFO();
int selectFrame(PageTableEntry &p);
private:
int entries;
};
#endif
MAIN.CPP
#include "Aging.cpp"
#include "Clock.cpp"
#include "FIFO.cpp"
#include "MMU.cpp"
#include "NRU.cpp"
#include "Random.cpp"
#include "SecondChance.cpp"
素晴らしい!あなたのソースはどこですか? (質問に含めてください)。 –
ソースコードを投稿してください:) – pkthapa
ありがとう、ただ投稿しました:) – Matrix21