Skip to content

Commit

Permalink
ArticleBase: Fix calling virtual function from the destructor (#284)
Browse files Browse the repository at this point in the history
ArticleBaseはデストラクタ内で仮想関数unlock_impl()を呼び出していますが
仮想関数はデストラクタ内で派生クラスの関数として呼び出しできないため
cppcheckに警告されます。そのためスコープ解決演算子を使ってクラスを
明示します。

cppehckのレポート
```
src/dbtree/articlebase.h:420:14: warning: Virtual function 'unlock_impl' is called from destructor '~ArticleBase()' at line 120. Dynamic binding is not used. [virtualCallInConstructor]
        void unlock_impl() override;
             ^
src/dbtree/articlebase.cpp:120:5: note: Calling unlock_impl
    unlock_impl();
    ^
src/dbtree/articlebase.h:420:14: note: unlock_impl is a virtual function
        void unlock_impl() override;
             ^
```
  • Loading branch information
ma8ma committed May 16, 2020
1 parent 9d0be4f commit 2071d13
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/dbtree/articlebase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ ArticleBase::~ArticleBase()
assert( get_lock() == 0 );

// nodetreeのクリアと情報保存
unlock_impl();
ArticleBase::unlock_impl();
}


Expand Down

0 comments on commit 2071d13

Please sign in to comment.