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;
}