我是 cpp 编程的新手,使用 Visual Studio 代码,我不明白 Ctrl + Alt + N(运行代码)和 Ctrl + F5(运行而不调试)之间有什么区别。


我使用 VSCode(代码编辑器,而不是 IDE)来处理 C++,仅使用 Microsoft 的 C++ 扩展,今天我在这里遇到了一个问题。当我编写错误的语法时,“问题”面板不会显示错误。它仅显示构建代码时的错误。早些时候,情况并非如此。我该如何解决 ?
我实现了一个单链接列表,其中有一SinglyList类,并且struct node,node *head作为类的私有成员; 并写了一个析构函数来删除它。我使用 CRT 库使用_CrtDumpMemoryLeaks()方法检查内存泄漏。当我调试代码时,在调试控制台中显示发现内存泄漏,这很奇怪,因为我写了一个析构函数来删除它。
这是节点类:-
struct node
{
int data = NULL;
node*next = NULL;
};
Run Code Online (Sandbox Code Playgroud)
这是析构函数:-
SinglyList::~SinglyList()
{
node*curr = head,*next;
while(curr != NULL)
{
next = curr->next;
delete curr;
curr = next;
}
}
Run Code Online (Sandbox Code Playgroud)
我不明白,删除所有节点时怎么会出现内存泄漏,请帮助。
编辑:
SinglyList.hpp:-
#pragma once
#include<iostream>
class SinglyList
{
private:
struct node
{
int data = NULL;
node*next = NULL;
};
node*head;
public:
SinglyList();
void Append(const int&);
void Prepend(const int&);
void Print();
void …Run Code Online (Sandbox Code Playgroud)