반응형
문제. 오류 내용
#include <iostream>
using namespace std;
int arr[4] = { 3,5,9,10 };
int arr2[4] = { 2,6,9,11 };
int result[8];
int head = 0;
int right = 0;
int main() {
for (int i = 0; i < 4;i++) {
cin >> arr[i];
}
for (int i = 0; i < 4;i++) {
cin >> arr2[i];
}
while (head != 8) {
if (right == 0){
}
head++;
}
return 0;
}
위와 같이 코드를 짜면 변수 "right"이 모호합니다. 라는 에러가 뜬다.
E0266 "변수"이(가) 모호합니다.
원인은 using namespace std; 에 right라는 변수가 내포되어 있는데
이를 내가 같은 이름으로 재정의내려서 모호하다고 하는 것이다.
해결방법 - 변수 이름 바꾸기
해결하려면
1. 변수 right를 rht등 다른 변수 이름을 쓴다.
2. "right"대신 "::right"를 쓴다. (::는 global namespace를 의미. not std)
3. using namespace std;를 쓰지 않는다. (하지만 이렇게 되면 std:cout std::endl등 std를 앞에 다 붙여야 함)
결국 2,3번 보다 1번대로 변수이름을 바꾸는 것이 가장 속 편하다.
반응형
'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 |
오류(활성) E0137 식이 수정할 수 있는 lvalue여야 합니다. 해결은strcpy_s(head->name, "wife"); (0) | 2020.04.11 |