bonnate   4년 전

질문글이 처음이라 질문하는법도 잘 모르지만 너무 답답해 올리게됩니다.

C++로 다항식의 계수와 지수를 입력받고 출력, 계산 등등을 하는 프로그램을 작성중인데 계수의 값을 무작위로 입력했을때 높은 계수부터 차례대로 출력되게 하고싶어 정렬을 하려고 합니다.

기본적으로 pair쌍은 comapre 사용자 함수를 이용하여 정렬하는 방법은 알고있지만 class 내부의 vector의 pair에 어떻게 접근을 해야하는지 모르겠습니다.


현재 소스코드 상태에서 compare 함수를 클래스 밖으로 꺼내고 data_pair 선언 부분을 public으로 옮기면 의도한대로 실행은 되나, 데이터를 public으로 하고싶지는 않습니다.

현재 소스코드 상태에서 실행을 하면 43번 줄에서

preview

이렇게 오류가 납니다. 

C3867오류를 해결하려고 

sort(data_pair.begin(), data_pair.end(), compare()); compare뒤에()를 붙이면 

preview

이렇게 오류가 납니다...

함수가 잘못된건지 인자, 매개변수를 잘못 쓴건지 잘 모르겠습니다.. 도와주세요

shg9411   4년 전

compare 함수 static으로 변경해보세요

댓글을 작성하려면 로그인해야 합니다.