C++ c++;从类指针调用函数

C++ c++;从类指针调用函数,c++,C++,我有一个类节点,其中包含以下函数: void Node::print(){ cout << word << trailing_char << endl; } 我知道在类指针中访问变量数据的方法是: root -> n; 但我不知道如何访问函数。我试过了 root -> print(); 但那没用。很好。没有错误,但函数没有输出 下面是它的名称片段: while ( conductor -> n != NULL ) { condu

我有一个类节点,其中包含以下函数:

void Node::print(){
cout << word << trailing_char << endl;
}
我知道在类指针中访问变量数据的方法是:

root -> n;
但我不知道如何访问函数。我试过了

root -> print();
但那没用。很好。没有错误,但函数没有输出

下面是它的名称片段:

while ( conductor -> n != NULL ) {
    conductor -> print();
    conductor = conductor -> n;
}
是的,
root->print()。然而,没有什么理由说明它不起作用。最常见的原因是:

  • root
    未正确初始化(例如,它是一个空指针)-在运行时失败
  • print()
    方法是受保护的或私有的,您没有访问它的权限-编译时失败
  • 之所以会出现原因
    1.
    ,是因为while循环应该检查当前元素(您将调用
    print
    的元素)是否为
    NULL

    while ( conductor != NULL ) {
        conductor -> print();
        conductor = conductor -> n;
    }
    

    “不起作用”是什么意思?它编译了吗?它在运行时失败了吗?抱歉。它编译得很好,但是函数在被调用时没有执行。等一下,我会用调用的部分更新我的代码。除了在声明中反转
    节点
    并去掉分号之外,您显示的内容没有问题。导体的类型是什么?它是如何初始化的?由于循环依赖于成员变量
    n
    ,请检查它是否已初始化。确定,更改while循环的条件会有所帮助。现在我还有一大堆逻辑错误要处理。谢谢,祝我好运
    while ( conductor != NULL ) {
        conductor -> print();
        conductor = conductor -> n;
    }