CodeQL documentation

Declaration hides parameter

ID: cpp/declaration-hides-parameter
Kind: problem
Security severity: 
Severity: recommendation
Precision: very-high
   - maintainability
   - readability
Query suites:
   - cpp-security-and-quality.qls

Click to see the query in the CodeQL repository

This rule finds declarations of local variables that hide parameters of the surrounding function. Such declarations create variables with the same name but different scopes. This makes it hard to understand which variable is actually being used in an expression.


Consider changing the name of either the variable or the parameter to keep them distinct.


void f(int i) {
  for (int i = 0; i < 10; ++i) { //the loop variable hides the parameter to f()


  • B. Stroustrup. The C++ Programming Language Special Edition p 82. Addison Wesley. 2000.

  • © GitHub, Inc.
  • Terms
  • Privacy