В моем пространстве имен есть набор классов, и я хочу сгруппировать предварительное объявление в файле define.hpp.
Я уже достиг этого в других проектах, вот пример:
namespace Makefile
{
class Builder;
class Config;
class Options;
class Target;
class Tool;
}
Моя проблема в том, что, например, класс Config включает следующее строго типизированное перечисление:
namespace Makefile
{
class Config
{
public:
enum class OperatingSystem : unsigned int
{
MacOSX = 0,
Linux = 1,
Windows = 2
};
};
}
Итак, я хотел бы добавить этот enum-класс в мой файл предварительного объявления и добавить следующую строку:
enum class Config::OperatingSystem : unsigned int;
Вот моя проблема , я получаю следующую ошибку при компиляции:
src/Makefile/define.hpp:6:13: error: opaque-enum-specifier must use a simple identifier
Означает ли это, что невозможно заранее объявить вложенный тип?
Есть ли решение этой проблемы?
Это из-за моего компилятора?
Моя конфигурация: GCC 4.6.0 в Mac OS X.7
Флаги компиляции: --std=c++0x -g3 -gdwarf-2 -W -Wall -iquote gen -iquote src