코드를 똑같이 실행시켰는데 자꾸 에러가 뜹니다
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
struct Loc{ // 구조체 선언
int x, y, z; // 구조체 멤버 선언
Loc(int a, int b, int c){ // 구조체 생성자 선언(초기화하기 위햬)
x=a;
y=b;
z=c;
}
// 크기를 비교하는 연산자, 연산자 오버로딩 함, 두 객체의 크기를 비교함, 정렬기준을 잡음
bool operator<(const Loc &b)const{ // 구조체를 주소로 받음, b를 통해서 원본을 바꿈, 이를 차단하기 위해서 const 선언
// operator를 const로 선언하여 x,y,z를 변경할 수 없게 함
return x<b.x; // opreator에 있어서 호출한 객체 x는 앞에 Loc &b해서 넘어온 인자로 넘어온 객체는 뒤에 그리고 앞에것을 작은것 뒤에것을 큰 걸로 정렬을 하게끔 오름차순으로 정렬함
}
};
int main(){
// freopen("input.txt","rt",stdin);
vector<Loc> XY; // 구조체형 vector 선언
XY.push_back(Loc(2, 3, 5));
XY.push_back(Loc(3, 6, 7));
XY.push_back(Loc(2, 3, 1));
XY.push_back(Loc(5, 2, 3));
XY.push_back(Loc(3, 1, 6)); // 구조체 생성자 활용하여서 그 값을 넣음
sort(XY.begin(),XY.end()); // 정렬을 시킴, x를 기준으로 구조체 객체를 정렬시킴, 즉 2, 3, 5에서의 x 값 2의 값으로 정렬함 뒤의 값은 무관함
for(auto pos:XY) cout << pos.x << " " << pos.y << " " << pos.z << endl;
return 0;
}
이렇게 코드를 똑같이 쳤는데 컴파일 에러가 뜹니다
에러의 내용이 [Error] 'pos' does not name a type이라고 뜨는데 선생님 코드와 동일한데 제 코드에는 왜 에러가 뜨는지 모르겠습니다
답변 1
1
안녕하세요^^
제 컴퓨터에서는 위 코드가 정상으로 작동합니다. 만약 DEV-C++를 쓰시면 컴파일러를 업해보시는 게 좋을 것 같습니다.
컴파일러 업하는 방법은 섹션5의 첫번째 영상에서 소개하고 있습니다.
테스트 케이스 질문
0
371
1
병합정렬 시간복잡도 질문
0
460
1
41.연속된 자연수의 합 문제풀이에서 수학적인 원리를 모르고 있습니다.
0
1340
2
질문드립니다.
0
374
1
질문드립니다!
0
427
1
dev 프로그램 질문
0
272
1
문제가 이해가 안되요
0
374
1
4번 나이차이 문제 접근법 질문 드립니다.
0
304
1
source file not compiled
0
1032
3
59번 질문드립니다.
0
369
1
25번 문제 질문
0
345
1
4. 나이차이 문제 질문입니다.
0
367
1
90번 라이언 킹 심바 1번 테스트 케이스
0
467
1
71번 문제 전역 변수 질문 있습니다
0
356
1
75번, 79번 priority_queue관련
1
353
1
75.최대 수입 스케줄
0
394
2
복면산 정답의 수
0
427
1
테스트 케이스에 대해서
0
441
1
수업 내용 질문입니다!
1
228
1
풀어보면 좋은 문제 목록 - 2580 스토쿠 DFS 질문입니다!!
0
817
2
12. 플로이드-와샬(그래프 최단거리) . 27:25초
0
251
1
다른 풀이 방식
0
313
1
크루스칼 vs 프림
0
303
1
숫자 총개수 small 질문있습니다.
0
234
1





