[ GCC Warnings & Errors ] ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== # GCC WARNING comparison between signed and unsigned integer expressions # EXPLANATION Perl `scalar` operation compiles to C++ `size()` function w/ return type unsigned_integer index variable `i` must also be unsigned_integer to avoid warning # PERL INPUT, INCORRECT for my integer $i ( 0 .. ( ( scalar @{ $self->{bodies} } ) - 1 ) ) { ... } # C++ OUTPUT, INCORRECT integer i; for ( i = 0; i < (this->bodies.size()); i++ ) { ... } # PERL INPUT, CORRECT for my unsigned_integer $i ( 0 .. ( ( scalar @{ $self->{bodies} } ) - 1 ) ) { ... } # C++ OUTPUT, CORRECT unsigned_integer i; for ( i = 0; i < (this->bodies.size()); i++ ) { ... } ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== # GCC WARNING # EXPLANATION # PERL INPUT, INCORRECT # C++ OUTPUT, INCORRECT # PERL INPUT, CORRECT # C++ OUTPUT, CORRECT ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== # GCC WARNING # EXPLANATION # PERL INPUT, INCORRECT # C++ OUTPUT, INCORRECT # PERL INPUT, CORRECT # C++ OUTPUT, CORRECT ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== # GCC WARNING # EXPLANATION # PERL INPUT, INCORRECT # C++ OUTPUT, INCORRECT # PERL INPUT, CORRECT # C++ OUTPUT, CORRECT ===== ===== ===== ===== ===== ===== ===== ===== ===== =====