forked fromCylix/cpp_redis
- Notifications
You must be signed in to change notification settings - Fork209
Commit147c589
Base classes should have virtual destructors (#55)
Fromhttps://en.cppreference.com/w/cpp/language/destructor ...Virtual destructorsDeleting an object through pointer to base invokes undefined behavior unless the destructor in the base class is virtual:class Base { public: virtual ~Base() {}};class Derived : public Base {};Base* b = new Derived;delete b; // safeA common guideline is that a destructor for a base class must be either public and virtual or protected and nonvirtualPrevents errors like the following:INFO: From Compiling external/com_github_cpp_redis_cpp_redis/sources/core/types.cpp:In file included from external/com_github_cpp_redis_cpp_redis/sources/core/types.cpp:23:In file included from bazel-out/darwin-fastbuild/bin/external/com_github_cpp_redis_cpp_redis/_virtual_includes/cpp_redis/cpp_redis/core/types.hpp:26:In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/string:500:In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/string_view:176:In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/__string:56:In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/algorithm:644:/Library/Developer/CommandLineTools/usr/include/c++/v1/memory:1880:58: warning: destructor called on non-final 'cpp_redis::xmessage' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] _LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();} ^1 parent53e6112 commit147c589
1 file changed
+4
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
| 44 | + | |
43 | 45 | | |
44 | 46 | | |
45 | 47 | | |
| |||
62 | 64 | | |
63 | 65 | | |
64 | 66 | | |
| 67 | + | |
| 68 | + | |
65 | 69 | | |
66 | 70 | | |
67 | 71 | | |
| |||
0 commit comments
Comments
(0)