Skip to content

Commit 0032338

Browse files
author
Matthieu Longo
committed
[vs2017] warning C4265: class has virtual functions, but destructor is not virtual
1 parent 79e92de commit 0032338

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

include/cucumber-cpp/internal/hook/HookRegistrar.hpp

+5
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ class CUCUMBER_CPP_EXPORT CallableStep {
2222

2323
class CUCUMBER_CPP_EXPORT Hook {
2424
public:
25+
// [Visual Studio] silence false positive "warning C4265: class has virtual
26+
// functions, but destructor is not virtual" requiring virtual destructors
27+
// for every class that has virtual functions.
28+
virtual ~Hook() {}
29+
2530
void setTags(const std::string &csvTagNotation);
2631
virtual void invokeHook(Scenario *scenario, CallableStep *step);
2732
virtual void skipHook();

include/cucumber-cpp/internal/step/StepManager.hpp

+11
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@ class CUCUMBER_CPP_EXPORT InvokeResult {
102102
class CUCUMBER_CPP_EXPORT StepInfo : public boost::enable_shared_from_this<StepInfo> {
103103
public:
104104
StepInfo(const std::string &stepMatcher, const std::string source);
105+
106+
// [Visual Studio] silence false positive "warning C4265: class has virtual
107+
// functions, but destructor is not virtual" requiring virtual destructors
108+
// for every class that has virtual functions.
109+
virtual ~StepInfo() {}
110+
105111
SingleStepMatch matches(const std::string &stepDescription) const;
106112
virtual InvokeResult invokeStep(const InvokeArgs * pArgs) const = 0;
107113

@@ -115,6 +121,11 @@ class CUCUMBER_CPP_EXPORT StepInfo : public boost::enable_shared_from_this<StepI
115121

116122
class CUCUMBER_CPP_EXPORT BasicStep {
117123
public:
124+
// [Visual Studio] silence false positive "warning C4265: class has virtual
125+
// functions, but destructor is not virtual" requiring virtual destructors
126+
// for every class that has virtual functions.
127+
virtual ~BasicStep() {}
128+
118129
InvokeResult invoke(const InvokeArgs *pArgs);
119130

120131
protected:

0 commit comments

Comments
 (0)