0

私はこれを理解することはできません...

私はそう見えるobject.hを持っています

struct basicObject {
       int x, y;
}

void objectSet (int x, int y);

ここで、メイン ファイルに object.h を含める必要がありますが、svg.c という別のファイルに objectSet 関数と構造体も必要です。

svg.h は次のようになります

#define OUTPUT_FILE "output.svg"
#include "object.h"

void saveSVG (basicObject item);

しかし、私のメイン ファイルには svg.h も含まれています。だから、構造体basicObjectの「再定義エラー」が発生しています。これには明らかに、object.h が 2 回含まれることに関係があります。どうすればこれを修正できますか?

4

2 に答える 2

4

を使用して同じヘッダー ファイルを複数回参照する予定がある場合は、インクルード ガードを使用する必要がありますが、インクルードする必要があるのは最初の 1 回だけです。#include

于 2012-10-04T22:11:58.833 に答える
2

主なオプションは 2 つあります。ヘッダーファイルで、

#pragma once

または、ヘッダー ファイル全体を次のようにラップします。

#ifndef MY_SVG_H
#define MY_SVG_H

... your code ...

#endif

参考文献:

于 2012-10-04T22:12:11.330 に答える