udoprog / c10t

A minecraft cartography tool
Other
226 stars 50 forks source link

warning: deleting object of abstract class type ‘json::basic_json’ which has non-virtual destructor will cause undefined behaviour #282

Closed Kunsi closed 11 years ago

Kunsi commented 11 years ago

Bildschirmfoto 2013-01-14 um 10 54 38

Getting above errors when compiling todays (14.01.2012) git. However, it compiles just fine.

gcc version 4.7.2 (Debian 4.7.2-4) c10t version: git 6ae7e15, built on Jan 14 2013

tanaka141 commented 5 years ago

allready present during compilation :

[ 69%] Building CXX object CMakeFiles/c10t.dir/src/main.cpp.o
In file included from /home/minecraft/c10tCreation/c10t/src/main.cpp:18:0:
/home/minecraft/c10tCreation/c10t/src/json.hpp: In destructor ‘json::object::~object()’:
/home/minecraft/c10tCreation/c10t/src/json.hpp:120:24: warning: deleting object of abstract class type ‘json::basic_json’ which has non-virtual d                                      estructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
           delete (*it).second;
                        ^
/home/minecraft/c10tCreation/c10t/src/json.hpp: In destructor ‘json::array::~array()’:
/home/minecraft/c10tCreation/c10t/src/json.hpp:158:19: warning: deleting object of abstract class type ‘json::basic_json’ which has non-virtual d                                      estructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
           delete *it;
                   ^
[ 71%] Building CXX object CMakeFiles/c10t.dir/src/dlopen.cpp.o

And here :

[ 88%] Building CXX object CMakeFiles/c10t.dir/src/json.cpp.o
In file included from /home/minecraft/c10tCreation/c10t/src/json.cpp:1:0:
/home/minecraft/c10tCreation/c10t/src/json.hpp: In destructor ‘json::object::~object()’:
/home/minecraft/c10tCreation/c10t/src/json.hpp:120:24: warning: deleting object of abstract class type ‘json::basic_json’ which has non-virtual d                                      estructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
           delete (*it).second;
                        ^
/home/minecraft/c10tCreation/c10t/src/json.hpp: In destructor ‘json::array::~array()’:
/home/minecraft/c10tCreation/c10t/src/json.hpp:158:19: warning: deleting object of abstract class type ‘json::basic_json’ which has non-virtual d                                      estructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
           delete *it;
                   ^
[ 90%] Building CXX object CMakeFiles/c10t.dir/src/generate_map.cpp.o
In file included from /home/minecraft/c10tCreation/c10t/src/generate_map.cpp:31:0:
/home/minecraft/c10tCreation/c10t/src/json.hpp: In destructor ‘json::object::~object()’:
/home/minecraft/c10tCreation/c10t/src/json.hpp:120:24: warning: deleting object of abstract class type ‘json::basic_json’ which has non-virtual d                                      estructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
           delete (*it).second;
                        ^
/home/minecraft/c10tCreation/c10t/src/json.hpp: In destructor ‘json::array::~array()’:
/home/minecraft/c10tCreation/c10t/src/json.hpp:158:19: warning: deleting object of abstract class type ‘json::basic_json’ which has non-virtual d                                      estructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
           delete *it;
                   ^
/home/minecraft/c10tCreation/c10t/src/generate_map.cpp: In function ‘bool generate_map(std::ostream&, std::ostream&, std::ostream&, settings_t&,                                       std::vector<std::__cxx11::basic_string<char> >&, boost::filesystem::path&, boost::filesystem::path&)’:
/home/minecraft/c10tCreation/c10t/src/generate_map.cpp:578:20: warning: typedef ‘hello_f’ locally defined but not used [-Wunused-local-typedefs]
     typedef void (*hello_f)();
                    ^
[ 92%] Building CXX object CMakeFiles/c10t.dir/src/generate_statistics.cpp.o

Don't know why ?