Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
NodeTreeBase: Fix calling virtual function from the destructor (#279)
NodeTreeXXXはデストラクタ内で仮想関数clear()を呼び出していますが 仮想関数はデストラクタ内で派生クラスの関数として呼び出しできないため cppcheckに警告されます。そのためスコープ解決演算子を使ってクラスを 明示します。 cppcheckのレポート ``` src/dbtree/nodetree2chcompati.h:30:14: warning: Virtual function 'clear' is called from destructor '~NodeTree2chCompati()' at line 36. Dynamic binding is not used. [virtualCallInConstructor] void clear() override; ^ src/dbtree/nodetree2chcompati.cpp:36:5: note: Calling clear clear(); ^ src/dbtree/nodetree2chcompati.h:30:14: note: clear is a virtual function void clear() override; ^ src/dbtree/nodetreejbbs.h:34:14: warning: Virtual function 'clear' is called from destructor '~NodeTreeJBBS()' at line 45. Dynamic binding is not used. [virtualCallInConstructor] void clear() override; ^ src/dbtree/nodetreejbbs.cpp:45:5: note: Calling clear clear(); ^ src/dbtree/nodetreejbbs.h:34:14: note: clear is a virtual function void clear() override; ^ src/dbtree/nodetreemachi.h:40:14: warning: Virtual function 'clear' is called from destructor '~NodeTreeMachi()' at line 46. Dynamic binding is not used. [virtualCallInConstructor] void clear() override; ^ src/dbtree/nodetreemachi.cpp:46:5: note: Calling clear clear(); ^ src/dbtree/nodetreemachi.h:40:14: note: clear is a virtual function void clear() override; ^ src/dbtree/nodetreebase.h:267:22: warning: Virtual function 'clear' is called from constructor 'NodeTreeBase(const std::string&url,const std::string&date_modified)' at line 96. Dynamic binding is not used. [virtualCallInConstructor] virtual void clear(); ^ src/dbtree/nodetreebase.cpp:96:5: note: Calling clear clear(); ^ src/dbtree/nodetreebase.h:267:22: note: clear is a virtual function virtual void clear(); ^ src/dbtree/nodetreebase.h:267:22: warning: Virtual function 'clear' is called from destructor '~NodeTreeBase()' at line 135. Dynamic binding is not used. [virtualCallInConstructor] virtual void clear(); ^ src/dbtree/nodetreebase.cpp:135:5: note: Calling clear clear(); ^ src/dbtree/nodetreebase.h:267:22: note: clear is a virtual function virtual void clear(); ^ ```
- Loading branch information