【发布时间】:2021-11-14 15:45:54
【问题描述】:
我有以下代码:
class A
{
public:
int *b;
};
int main()
{
A *a = new A();
a->b = new int(1);
cout << *a->b;
cout << "done";
return 0;
}
我运行它并得到预期的输出 1done 但是当我评论 a->b = new int(1); 它什么也不打印。如何让它为我抛出一些东西来确定我的代码中的错误所在。我的 VS Code 版本是 1.60.1。
提前致谢。
【问题讨论】:
-
变量最重要的事情之一是初始化。您没有初始化
b。您可能应该编写一个至少将 b 初始化为nullptr的构造函数。我相信int *b = nullptr在这种情况下就足够了。 -
“如何让它抛出一些东西让我确定我的代码中的错误所在。”不要使用 C++。您可能会发现调试构建会抛出 大多数 未定义的行为,但不是全部。
标签: c++ visual-studio-code gcc