Статическая константа (член класса)

Я хотел бы иметь частную статическую константу для класса (в данном случае фабрика форм).

Я хотел бы иметь что-то в этом роде.

class A {
   private:
      static const string RECTANGLE = "rectangle";
}

К сожалению, я получаю всевозможные ошибки от компилятора C ++ (g ++), такие как:

ISO C ++ запрещает инициализацию члена "RECTANGLE"

недопустимая инициализация в классе статического члена данных нецелого типа ‘std :: string ’

ошибка: сделать RECTANGLE статическим

Это говорит мне о том, что подобный дизайн элементов не соответствует стандарту. Как у вас есть личная литеральная константа (или, возможно, общедоступная) без необходимости использования директивы #define (я хочу избежать уродливости глобальности данных!)

Любая помощь приветствуется.

Ответы на вопрос(11)

Ваш ответ на вопрос