0

上下文:我有一个类有两个include子句:

#ifndef VAR_RECORD_SONG_H
#define VAR_RECORD_SONG_H

#include "VarRecord.h"
#include "Compressor.h"

class VarRecordSong : public VarRecord
{
    public:
        VarRecordSong();
        ~VarRecordSong();
};

#endif /* VAR_RECORD_SONG_H */ 

问题:两者都VarRecord.h包含Compressor.h同一个文件GlobalConstants.h,所以很明显编译器会抱怨。

4

1 回答 1

2

文件 GlobalConstants.h 应该是这样的:

#ifndef GLOBAL_CONSTANTS_H
#define GLOBAL_CONSTANTS_H

file contents...

#endif

所以这个文件只会在预处理代码中出现一次。

于 2013-04-14T02:37:09.633 回答