У меня есть 2 класса в разных пространствах имен, и оба они должны включать в себя один и тот же класс Image.h, но когда я включаю одновременно, я получаю ошибку.Вот мои классы:
FilterManager.h:
#ifndef FILTERMANAGER_H_
#define FILTERMANAGER_H_
#include "../Images/Image.h"
namespace Filter {
class FilterManager {
public:
Image* applyFilter(int filterType, PGMImage *pgmImage);
};
} /* namespace Filter */
#endif /* FILTERMANAGER_H_ */
Основной класс приложения: это включает в себя Images / Image.h и Filter / FilterManager.h одновременно, и я получаю ошибку.
#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <stdio.h>
#include "Images/Image.h"
#include "Filter/FilterManager.h"
using namespace std;
int main() {
//new typename ImageIO::ImageIO;
Images::Image *Image = NULL;
Filter::FilterManager::getInstance();
pgmImage = imageIO->readPGM("Resources/house.256.pgm");
return 0;
}
И Image.h класс
#ifndef IMAGE_H_
#define IMAGE_H_
#include "Image.h"
namespace Images {
class Image {
public:
Image();
virtual ~Image();
private:
int** imatrix(int nrl,int nrh,int ncl,int nch);
};
} /* namespace Image */
#endif /* IMAGE_H_ */
Спасибо за любую помощь