वहाँ कोड पीछा कर रहा है:नाशक noexcept (गलत) के रूप में चिह्नित
class Member
{
public:
~Member() noexcept(false) {}
};
class A
{
public:
virtual ~A() {}
};
class B : public A
{
public:
Member m;
};
त्रुटि है:
main.cpp:13:7: error: looser throw specifier for ‘virtual B::~B() noexcept (false)’
class B : public A
^
main.cpp:10:11: error: overriding ‘virtual A::~A() noexcept’
virtual ~A() {}
^
है क्यों वर्ग बी में नाशक noexcept के रूप में चिह्नित किया गया है (गलत) ? ऐसा लगता है कि यह किसी भी तरह से सदस्य वर्ग से मिलता है। यह जी ++ 6.3 द्वारा संकलित किया गया था।