Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 单链表C++;|节点&;附加/删除节点 类节点{ 公众: Node*Next=nullptr; 节点(字符值){ 价值=价值; } 字符值; }; SinglyLinkedList::SinglyLinkedList(字符值){ 节点*节点=新节点(值); 开始=节点; 结束=节点; 金额=1; } int SinglyLinkedList::GetCharAmount(字符值){ int amo=金额-1; int计数器=0; 节点*当前节点=开始; 如果(当前节点->值==值) { 计数器++; 阿摩--; } currentNode=currentNode->Next;//0) { 如果(当前节点->值==值) 计数器++; currentNode=currentNode->Next; 阿摩--; } 返回计数器; }_C++_Memory - Fatal编程技术网

C++ 单链表C++;|节点&;附加/删除节点 类节点{ 公众: Node*Next=nullptr; 节点(字符值){ 价值=价值; } 字符值; }; SinglyLinkedList::SinglyLinkedList(字符值){ 节点*节点=新节点(值); 开始=节点; 结束=节点; 金额=1; } int SinglyLinkedList::GetCharAmount(字符值){ int amo=金额-1; int计数器=0; 节点*当前节点=开始; 如果(当前节点->值==值) { 计数器++; 阿摩--; } currentNode=currentNode->Next;//0) { 如果(当前节点->值==值) 计数器++; currentNode=currentNode->Next; 阿摩--; } 返回计数器; }

C++ 单链表C++;|节点&;附加/删除节点 类节点{ 公众: Node*Next=nullptr; 节点(字符值){ 价值=价值; } 字符值; }; SinglyLinkedList::SinglyLinkedList(字符值){ 节点*节点=新节点(值); 开始=节点; 结束=节点; 金额=1; } int SinglyLinkedList::GetCharAmount(字符值){ int amo=金额-1; int计数器=0; 节点*当前节点=开始; 如果(当前节点->值==值) { 计数器++; 阿摩--; } currentNode=currentNode->Next;//0) { 如果(当前节点->值==值) 计数器++; currentNode=currentNode->Next; 阿摩--; } 返回计数器; },c++,memory,C++,Memory,无法理解此函数在到达“第二个节点出了点问题,当我尝试使用开始->下一个引用时,有没有想过为什么?我认为你没有给我们足够的代码来回答。是的,我只是添加了一些,对不起,调试器是炸弹。您可以使用开发工具附带的调试器一点一点地检查程序,并观察程序执行时的操作。请留意意外情况,例如存储磨损值的程序或采取错误的路径,因为意外情况几乎总是需要纠正的错误。当它不是错误时,意味着你的期望是错误的,需要纠正。无论哪种方式,都需要修复一些问题。在任何时候,您似乎都无法验证您是否指向nullptr。你会发现这个循环会有

无法理解此函数在到达“第二个节点出了点问题,当我尝试使用开始->下一个引用时,有没有想过为什么?我认为你没有给我们足够的代码来回答。是的,我只是添加了一些,对不起,调试器是炸弹。您可以使用开发工具附带的调试器一点一点地检查程序,并观察程序执行时的操作。请留意意外情况,例如存储磨损值的程序或采取错误的路径,因为意外情况几乎总是需要纠正的错误。当它不是错误时,意味着你的期望是错误的,需要纠正。无论哪种方式,都需要修复一些问题。在任何时候,您似乎都无法验证您是否指向nullptr。你会发现这个循环会有问题。
class Node{
public:
    Node* Next = nullptr;

    Node(char value){
        Value = value;
    }
    char Value;
};



SinglyLinkedList::SinglyLinkedList(char value) {
    Node* node = new Node(value);
    Start = node;
    End = node;
    Amount = 1;
}




int SinglyLinkedList::GetCharAmount(char value) {
    int amo = Amount-1;
    int counter = 0;
    Node* currentNode = Start;

    if (currentNode->Value == value)
    {
        counter++;
        amo--;
    }

    currentNode = currentNode->Next; // <--- Here

    while (amo > 0)
    {
        if (currentNode->Value == value)
            counter++;
        currentNode = currentNode->Next;
        amo--;
    }

    return counter;
}