我正在将大型应用程序从 Free Pascal 移植到 C++(QT Creator)。我是 C++ 的新手,这是我第一次接触 C++(和 C)。我已经移植了几个月。我解决了很多问题,所以我认为我从那天学到了一些东西,C++ 不再让我感到惊讶,但最后(9 0% 移植)我被卡住了。开始吧。我有这堂课:
class MyWidget : public QWidget
{
Q_OBJECT
enum PageType {
pt1,
pt2,
pt3,
pt4
};
PageType mPage;
}
在运行时,mPage
被改变。似乎它工作正常(在调试时我看到了正确的值),但在某些情况下,当我收到信号时,我有条件if (mPage==pt3)
它应该是真的但不是,调试器告诉我它的值是 4042322160(4042322160)。我以为我有一些内存泄漏或什么的。所以我运行了valgrid,确实我很少有内存泄漏和无效的读/写,但是修复它之后,我仍然有同样的问题。有人可以告诉我我在 C++ 世界中缺少什么吗?
问候