我有一个带有此功能的类节点:
void Node::print(){
cout << word << trailing_char << endl;
}
现在,类本身只能被指针访问。例如:
Node* root
我知道在类指针中访问变量数据的方法是:
root -> n;
但我不知道如何访问功能。我试过了
root -> print();
但那没用。它汇编得很好。没有错误,但我没有从函数输出。
下面是它所称的片段:
while ( conductor -> n != NULL ) {
conductor -> print();
conductor = conductor -> n;
}
答案 0 :(得分:1)
是的,root->print()
应该有效。但是,为什么它不起作用的原因很少。最常见的原因是:
root
未正确初始化(例如,它是一个NULL指针) - 在运行时失败print()
方法受保护或私有,并且您无权访问它 - 在编译时失败。出现1.
的原因是因为您的while循环应该检查当前元素(您将调用print
的元素)是否为NULL
:
while ( conductor != NULL ) {
conductor -> print();
conductor = conductor -> n;
}