У меня есть следующий код:
#include <iostream>
using namespace std;
class CForward;
void func(CForward* frw) { delete frw; }
class CForward
{
public:
~CForward() { cout << "Forward" << endl; }
};
int main()
{
func(new CForward);
cin.get();
}
Я запускал программу и ничего не печатал.
Почему?
В основном я создал new CFoward
, а в func
я удалил его и назвал его деструктором.
Кажется, деструктор не был вызван. Зачем? Связано ли это с форвардным выражением?