From e49292eaf9e8a12702f786d3fd53a2b436044eca Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Fri, 9 Oct 2015 08:12:06 +0200 Subject: [PATCH] fix compilation in g++-5 --- alib2data/src/common/visitor.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/alib2data/src/common/visitor.hpp b/alib2data/src/common/visitor.hpp index 45672c001c..e7c58f9310 100644 --- a/alib2data/src/common/visitor.hpp +++ b/alib2data/src/common/visitor.hpp @@ -11,6 +11,7 @@ #include <stdexcept> #include <typeindex> +#include <iostream> namespace std { @@ -192,7 +193,7 @@ public: template < typename R > void Visit1 ( void * userData, const T & first, const R & second ) const { if ( std::type_index ( typeid ( T ) ) == std::type_index ( typeid ( second ) ) ) - this->Visit ( userData, first, static_cast < const T & > ( second ) ); + this->Visit ( userData, first, dynamic_cast < const T & > ( second ) ); else throw std::logic_error ( "Same visitor: Visited types are different." ); } @@ -212,7 +213,7 @@ public: template < typename R > void Visit1 ( void * userData, const T & first, const R & second ) const { if ( std::type_index ( typeid ( T ) ) == std::type_index ( typeid ( second ) ) ) - this->Visit ( userData, first, static_cast < const T & > ( second ) ); + this->Visit ( userData, first, dynamic_cast < const T & > ( second ) ); // tady ten dynamic cast muze byt i static cast ale to by to muselo na g++ 5.2 fungovat else throw std::logic_error ( "Same visitor: Visited types are different." ); } -- GitLab