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

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

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

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

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

ISO C ++ запрещает инициализацию члена ‘ПРЯМОУГОЛЬНИК'

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

ошибка: сделать ‘ПРЯМОУГОЛЬНИК' статический

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

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

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

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