The file GlobalConstants.h should be like this:
#ifndef GLOBAL_CONSTANTS_H
#define GLOBAL_CONSTANTS_H
file contents...
#endif
So this file will only appear once in the pre-processed codes.
Pregunta
Context: I've got one class which has two include
clauses:
#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 */
Problem: both VarRecord.h
and Compressor.h
include the same file GlobalConstants.h
, so obviously the compiler complains.
Solución
The file GlobalConstants.h should be like this:
#ifndef GLOBAL_CONSTANTS_H
#define GLOBAL_CONSTANTS_H
file contents...
#endif
So this file will only appear once in the pre-processed codes.