指针类功能不打印输出?

时间:2018-01-15 15:31:41

标签: c++ c++11

//我正在尝试制作数组         //指针类节点(表)并打印它         //函数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;
}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

这是错误的

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

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

应该是

table[i]->print_val();