error C2106: '=' : 왼쪽 피연산자는 l-value이어야 합니다.
글쓴이: 621hjmit / 작성시간: 수, 2010/11/10 - 5:18오후
void linklist::del(int num){ //num에 넘겨주는 수는 2 int data=0; node *search=ptnode; while(num != data||search=NULL){ //★★★★★★★★★<-- 여기서 에러.. data=search->data; cout<<"data=search->data; ==>> "<<data<<endl; search=search->link; } cout<<endl<<"[delete "<<data<<"]"<<endl; }
error C2106: '=' : 왼쪽 피연산자는 l-value이어야 합니다.
참나.. 이게 왜 에러예요?!!
Forums:
= 연산자의
= 연산자의 우선순위가 ||나 != 보다 낮기 때문에
num != data||search=NULL 에서
= 연산자의 왼쪽 피연산자가 num != data||search 이고
이것은 l-value가 아니므로 에러 맞는데요.
우와.. ㅋ
연산자 우선순위..
당연히 제 생각 대로 될 줄 알았었어요.
제 생각이 정상과 벗어났꾼요~
괄호 하니 되네요~
감사 합니당~
꺄~!!ㅋㅋㅋㅋ
♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ 하트 백만개 드려용!
그런데 괄호문제가
그런데 괄호문제가 아니라 ==를 =로 잘못 쓴거 아닌가요?
두번째 비교문이 =가 아니라 == 아님?
..
ㅋㅋㅋ
괄호문도 문제있고 비교연산에도 문제가 있었죠/./
(num != data||search=NULL){ 를
((num != data)&&(search==NULL)){ 이렇게 고쳤드랬죠 ㅋㅋㅋ
네네 잘돌아 갑니당.ㅋㅋ
(num != data)&&(search==NULL)
(num != data)&&(search==NULL) 랑
num != data && search == NULL
는 같습니다.
비교연산자(==, !=, <)는 논리연산자(&&, ||) 보다 우선순위가 높고
대입연산자는 콤마연산자를 제외하고 제일 우선순위가 낮습니다.
그러니 ==를 =로 잘못 쓰지 않았다면 괄호문제도 없었겠죠.
헐..
그렇쿤요...
헐..
그렇쿤요...
헐..
그렇쿤요...
헐..
그렇쿤요...
그런데 search 가 NULL 이면 문제가 있지 않나요?
(num != data)&&(search!=NULL) 이 맞는 거 같습니다만..
댓글 달기