Scanner、Table、Readerの3つのクラスがあります。Scanner はテーブルに情報を追加し、Reader はテーブルから読み取ります。では、どこでテーブル変数を宣言すればよいでしょうか? .hでやったのですが、ダブルインクルードのミスがありました。
質問する
99 次
3 に答える
-1
複数の定義に問題があるようです。各ヘッダーの上部で使用し、各 C++ クラスをヘッダーとフッターに含めます。
#pragma once
class Name {}
//or
#ifndef __CLASS_NAME_H__
#define __CLASS_NAME_H__
class Name { }
#endif
すなわち
//Scanner.h
#pragma once //<---------- must use it so you do not have double include..
class Table; //forward decalre reduced dependendcy and no need to include h.
class Scanner {
int ReadIntoTable(Table* pInTable);
}
//Scanner.cpp
// has method bodies that uses Table like
#include "Table.h"
int Scanner::ReadIntoTable(Table* pInTable)
{
pInTable->putData(123);
return void.
}
//Table.h
#pragma once //<-------- use so you do not have double include.
class Table {
getData();
putData(int Data);
}
//Table.cpp
// impelenation for table
于 2013-05-20T14:56:13.273 に答える