Ссылочный тип объявляется с избыточным const
или volatile
спецификатор
Этот дефект происходит, когда переменная со ссылочным типом объявляется с const
или volatile
спецификатор, например:
char &const c;
C++ 14 Стандартов утверждает тот const
или volatile
полные ссылки плохо формируются (если они не введены через typedef
, в этом случае они проигнорированы). Например, ссылка на одну переменную не может быть сделана, чтобы относиться к другой переменной. Поэтому использование const
спецификатор не требуется для переменной со ссылочным типом.
Часто использование этих спецификаторов указывает на ошибку кодирования. Например, вы означали объявлять ссылку на const
- квалифицированный тип:
char const &c;
const
- полная ссылка:char &const c;
c
быть неизменяемым, но видеть различное значение c
по сравнению с его значением в объявлении.Смотрите если const
или volatile
спецификатор неправильно помещается. Например, смотрите, хотели ли вы обратиться к const
- квалифицированный тип и вводимый:
char &const c;
char const &c;
const
или volatile
спецификатор перед &
оператор. В противном случае удалите избыточный спецификатор.Группа: Хорошая практика |
Язык: C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки:
CV_QUALIFIED_REFERENCE_TYPE |
Удар: низко |
C++ reference to const-qualified type with subsequent modification
| Find defects (-checkers)
| Qualifier removed in conversion
| Unreliable cast of function pointer
| Unreliable cast of pointer
| Writing to const qualified object