Consider the following code
-------ambiguouselse.cc---------
#include <iostream>
int main() {
int n;
std::cout << "Enter number: ";
std::cin >> n;
if( n > 10 )
if( n > 20 ) {
std::cout << "A" << std::endl;
} else {
std::cout << "B" << std::endl;
}
return 0;
}
-------ambiguouselse.cc---------
$> g++ -Wparentheses ambiguouselse.cc
ambiguouselse.cc: In function ‘int main()’:
ambiguouselse.cc:12:4: warning: suggest explicit braces to avoid
ambiguous ‘else’
---------------------------------
I don't understand the warning here, the situation here is
different as in the documentation for -Wparentheses.
Andre
---------------------------------
$> g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.5.1/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap
--enable-shared --enable-threads=posix --enable-checking=release
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions
--enable-gnu-unique-object --enable-linker-build-id
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,lto
--enable-plugin --enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic
--with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC)
---------------------------------------