У меня есть класс, который содержит указатель на постоянное значение VARIANT вне класса, но иногда я хочу изменить этот указатель на ссылку на объект-член VARIANT самого класса.
Большинство экземпляров этогокласс будет const, поэтому я должен объявить указатель как изменяемый.
В Visual C ++ этот код, кажется, делает то, что я хочу:
VARIANT mutable const* m_value;
Однако, поскольку изменяемый объект должен бытьсвойство указателя, а не указателя, я думаю, что это будет правильный синтаксис:
VARIANT const * mutable m_value;
Подобно тому, как вы определяете постоянный указатель (а не указатель на объект const).Visual C ++ не принимает этот вариант, хотя.
предупреждение C4518: «изменяемый»: класс хранения или спецификатор типа здесь непредвиденный;игнорируется
Правильно ли работает Visual C ++ или я что-то упустил?Может ли другой компилятор, совместимый со стандартами, вести себя иначе?