-1

我有一个包含这个函数的类节点:

void Node::print(){
cout << word << trailing_char << endl;
}

现在,类本身只能被指针访问。例如:

Node* root

我知道在类指针中访问变量数据的方法是:

root -> n;

但我不知道如何访问功能。我试过了

root -> print();

但这没有用。它编译得很好。没有错误,但我没有从函数中得到输出。

这是它被调用的片段:

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

1 回答 1

1

是的,root->print()应该工作。但是,它不起作用的原因很少。最常见的原因是:

  1. root未正确初始化(例如,它是一个 NULL 指针) - 在运行时失败
  2. print()方法是受保护的或私有的,并且您没有访问它的权限 - 在编译时失败。

原因1.可能是因为您的 while 循环应检查当前元素(您将调用的元素 print)是否为NULL

while ( conductor != NULL ) {
    conductor -> print();
    conductor = conductor -> n;
}
于 2013-09-21T14:08:34.947 回答