Статическая константа (член класса)
Я хотел бы иметь частную статическую константу для класса (в данном случае фабрика форм).
Я хотел бы иметь что-то в этом роде.
class A {
private:
static const string RECTANGLE = "rectangle";
}
К сожалению, я получаю всевозможные ошибки от компилятора C ++ (g ++), такие как:
ISO C ++ запрещает инициализацию члена "RECTANGLE"
недопустимая инициализация в классе статического члена данных нецелого типа ‘std :: string ’
ошибка: сделать RECTANGLE статическим
Это говорит мне о том, что подобный дизайн элементов не соответствует стандарту. Как у вас есть личная литеральная константа (или, возможно, общедоступная) без необходимости использования директивы #define (я хочу избежать уродливости глобальности данных!)
Любая помощь приветствуется.