Так что инструмент не тот (об этом я уже говорил, я знаю), и я предполагаю, что вы не хотите скрывать предупреждение.
Я согласен с комментарием @ Pascal, что несколько опасно переписывать кодпросто чтобы обойти ограничения некоторых инструментов.Что вы можете сделать, это отключить эту защиту только для файлов, где у вас есть эта проблема.
Затем у вас есть начальная сборка без предупреждения, без инструмента, предлагающего перезаписать существующий допустимый код.
Для нового кода вам придется принять некоторыестиль, который понимает инструмент.Это не проблема, потому что это будет код, над которым вы сейчас работаете, поэтому будет меньше проблем, если вам придется немного переписать его, чтобы избавиться от предупреждений.
Несмотря на правильность, существующий стиль далек от идеала.
Я бы рекомендовал хранить указатели типа x
в auto_ptr.Это автоматически удалит содержимое auto_ptr, если оно выходит из области видимости - если вы явно не удалите его из auto_ptr.Это намного проще для глаз, а также хорошо документирует, что эта функция становится владельцем указателя.
void foo(auto_ptr<int> x)
{
bar();
*x;
}
Я ожидаю, что у ParaSoft не будет проблем с этим кодом.