表达式必须是可修改的L值

时间:2014-04-10 02:38:17

标签: pointers

我有代码片段,我得到的错误表达式必须是可修改的L值。

node1.h

class node{
int data;

public:
node* next;
node(){}
void setdata(int a){data=a;}
char getdata(){return data;}
node* Next(){
return next;}
                  };

list.cpp

#include"node1.h"
#include<stdlib.h>
#include<iostream>
class list{
node* first;
public:
list(){first=NULL;}
 void list::append(char data){
 node * tmp=first;
 node* newnode=new node;
    newnode->setdata(data);

    tmp->Next()=newnode;//line 1
    tmp->next=newnode;//line 2
}
 }

line1给出错误,表达式必须是可修改的l值,但是line1和line2应该做同样的事情吗?

1 个答案:

答案 0 :(得分:0)

您无法更改Next的值,因为它是一个函数。