반응형
오류(활성) E0137 식이 수정할 수 있는 lvalue여야 합니다. |
char 배열이든지 string 변수던지 문자열을 그대로 넣을 수 없다.
그냥 넣으려고 하면 "식이 수정할 수 있는 lvalue여야 합니다."라고 에러가 나온다.
위의 예에서 head -> name이 아무리 string 배열 넣는 자리여도 바로 집어넣을 수는 없다.
이때 해결할 방법으로는 string 헤더 파일에서 제공하는 함수인 strcpy()를 이용해서 해결 할 수 있다.
strcpy 썼더니 에러나서 strcpy_s(~)로 바꿈
에러 없이 성공적으로 들어감
#include <iostream>
#include <cstring>
using namespace std;
struct Node {
char name[11];
Node* love1;
Node* love2;
};
int main() {
Node* head = new Node();
strcpy_s(head->name, "boss");
head->love1 = new Node();
head->love2 = new Node();
strcpy_s(head->love1->name, "wife");
strcpy_s(head->love2->name, "son");
head->love1->love1 = head->love1;
head->love1->love2 = head->love2;
head->love2->love1 = new Node();
head->love2->love2 = new Node();
strcpy_s(head->love2->love1->name, "girlfriend");
strcpy_s(head->love2->love2->name, "boyfriend");
head->love2->love1->love1 = head->love2;
head->love2->love2->love1 = head->love2->love1;
head->love2->love1->love2 = head->love2->love2;
cout << head->love2->love1->name <<endl;
cout << head->love2->love2->name;
}
반응형
'C언어' 카테고리의 다른 글
백준 boj 1406번 에디터 문제 또 시간초과ㅜ vector코드 있음 (0) | 2020.08.11 |
---|---|
boj 남의 코드/정답코드 보는 법 (0) | 2020.08.09 |
[TDD] 로또 프로그램 다음 단계 : 6개 숫자 중 5개 숫자 같은지 확인 (0) | 2020.08.08 |
[TDD] 뽑기 프로그램 만들기 (0) | 2020.08.08 |
문자열을 숫자로/ 숫자를 문자열로 바꾸는 방법 (0) | 2020.05.13 |
path 출력하기 쉬운 방법 없나? (0) | 2020.05.13 |
E0349 이러한 피연산자와 일치하는 ">>"연산자가 없습니다. char, int 크기 문제에서 (0) | 2020.05.01 |
E0266 "변수"이(가) 모호합니다. 에러와 해결방법 (1) | 2020.05.01 |