指针类函数不打印输出

pointer class function not printing output?

本文关键字:输出 打印 类函数 指针      更新时间:2023-10-16

//我正在尝试制作数组 指针类节点(表(并打印其 函数 print_val((,但它一直给我一个错误,我没有 理解 ==================================================================

#include<iostream>

using namespace std;
class node {
    int val;
    node *next;
    public:
    node(int x){
        val=x;
        next=NULL;
    } 
    void print_val(){
        cout<<val;
    }
};

int main(){
    //node *table;
    node *object=new node(5);
    node **table=new node*[7];
    for(int i=0;i<7;i++){
        int x;
        cin>>x;
        node *temp=new node(x);
        table[i]=temp;
    }
    for (int i=0;i<7;++i){
        cout<<table[i]->print_val();
    }
    object->print_val();
    //table=new node[7];
    return 0;
}
for (int i=0;i<7;++i){
                cout<<table[i]->print_val();

在上面的语句table[i]->print_val()中,cout期望一个整数值,但print_val()不返回。将print_val()函数修改为

int  print_val(){
                cout<<val;
                return val;
        }
这是

错误的

cout << table[i]->print_val();

你正在传递给 cout void,这是你的函数的返回值

它应该是

table[i]->print_val();