С++ ошибка парасофта

У меня есть решение parasoft, и я получаю 3 одинаковые ошибки: «Вместо этого следует использовать объекты для управления ресурсами». Эти ошибки исходят из созданной мной структуры. Как я могу удалить это, не изменяя мою структуру? указатель "имя указателя"


person DorkMonstuh    schedule 30.04.2012    source источник


Ответы (2)


Вероятно, это говорит о том, что вы должны использовать какие-то интеллектуальные указатели для управления динамически создаваемыми объектами вместо new и delete.

person Luchian Grigore    schedule 30.04.2012
comment
не могли бы вы уточнить это, пожалуйста. На данный момент я создаю новый узел с новым ключевым словом, и я получаю ошибки parasoft в левой и правой ветвях узла. Я также получаю одну из этих ошибок в корне дерева, и корень определяется как переменная-член и указатель на нее. Я не знаю, поможет ли это вам уточнить, пожалуйста. - person DorkMonstuh; 30.04.2012
comment
Да, я смотрел на умные указатели, но не очень понимаю. Я действительно не знаю, как использовать его в этом контексте. - person DorkMonstuh; 30.04.2012
comment
@JohnLam вы должны использовать интеллектуальные указатели вместо необработанных указателей. - person Luchian Grigore; 30.04.2012
comment
Как преобразовать этот код в интеллектуальный указатель? Узел* новыйУзел = новый Узел; . - person DorkMonstuh; 30.04.2012
comment
@JohnLam что-то вроде typedef SmartPtr<Node> NodePtr; NodePtr pNode(new Node); - person Luchian Grigore; 30.04.2012
comment
Необходимо использовать библиотеку, чтобы использовать функциональность интеллектуального указателя, поскольку я получаю сообщение об ошибке, говорящее, что smartptr не является шаблоном. - person DorkMonstuh; 30.04.2012
comment
@JohnLam SmartPtr был просто примером. Вы можете использовать реализацию boost или std::shared_ptr или std::unique_ptr. - person Luchian Grigore; 30.04.2012

Вы можете перейти к представлению задачи качества, чтобы посмотреть на создаваемое нарушение. Оттуда вы можете щелкнуть правой кнопкой мыши на нарушении и выбрать «Просмотреть документацию по правилам», это даст вам представление о том, что помечается как нарушение, а также даст вам пример кода о том, как исправить нарушение.

Если вы хотите просто игнорировать нарушение, вы можете либо отключить правило в своей тестовой конфигурации, либо подавить нарушение. Это можно сделать, щелкнув правой кнопкой мыши по нарушению и выбрав «Подавить задачу».

person Josh Rodriguez    schedule 04.03.2016