L'exemple du «dynamic_cast» de la faq ne se compile pas avec g++.
Bonjour à tous.
Je me remets au C++ et j'ai tenté de compiler l'exemple du «dynamic_cast» à l'adresse :
https://cpp.developpez.com/faq/cpp/?...explicite-cast
La ligne de commande suivante :
Code:
:-) g++ -g -Wall -o essai essai.cpp
Me donne comme message d'erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11
| essai.cpp: In function int main():
essai.cpp:45:12: warning: unused variable c [-Wunused-variable]
C & c = dynamic_cast<C&>( *a );
^
essai.cpp:48:32: error: expected unqualified-id before & token
catch ( const std::bad_cast & )
^
essai.cpp:48:32: error: expected ) before & token
essai.cpp:48:32: error: expected { before & token
essai.cpp:48:34: error: expected primary-expression before ) token
catch ( const std::bad_cast & ) |
Je n'ai pas trop abordé le sujet des exeptions et c'est pourquoi je pose cette question.
Sinon, pour la version de g++ :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
:-) g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18+deb9u1' --with-bugurl=file:///
usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/
usr --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --
libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls -
-with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-defau
lt-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugi
n --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-
cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=
/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --w
ith-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --en
able-objc-gc=auto --enable-multiarch --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,m
x32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x8
6_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
:-) |
Merci pour votre aide et bonne soirée.