Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 멀티스레드
- 클라이언트
- GitHub
- 과제5차
- 동빈나참고
- greater
- 에러
- bind
- 자료구조
- 과제
- list
- 난수중복제거
- 튜토리얼
- Git
- C++
- operator==
- 소켓 프로그래밍
- 연산자오버로딩
- 채팅프로그램
- 이진순회트리
- 이진노드
- 노드
- 함수객체
- remove_if
- 네트워크 프로그래밍
- 이진트리
- placeholder
- 상속
- c2678
- BST
Archives
- Today
- Total
강아지를 좋아하는 컴공생
[C2678] 이항 '==': 왼쪽 피연산자로 'type' 형식을 사용하는 연산자가 없거나 허용되는 변환이 없습니다. 본문
문제상황
템플릿 함수를 만들며 내가 만든 데이터타입인 Student타입 데이터를 처리하려다보니 비교연산자==에서 처리하지 못하는 상황이 발생했다. 본래의 연산자==의 기능으로는 처리하기에 명확하지 않은 상황이라는 뜻이다.
에러메세지는 다음과 같았다.
이항 '==': 왼쪽 피연산자로 'T'형식을 사용하는 연산자가 없거나 허용되는 변환이 없습니다.
-> 이곳에서 에러가 발생했다!
==처리가 애매하다고 컴파일러가 알려주는 것이다
MS 참고
해결방법
'Student 타입의 데이터를 처리'하는 것에서 문제가 발생하는 것이기 때문에, Student의 클래스에 연산자== 오버로딩을 해주면 된다. Student 타입의 데이터도 처리할 수 있도록.
Student 객체끼리 비교하는 상황에서 name이나 score를 가지고 비교할 수 있도록 우리가 직접 오버로딩해주어야한다!
'c++ > 에러' 카테고리의 다른 글
[Error] LNK2019 / LNK1120 (0) | 2022.09.20 |
---|---|
[C2893] 컴파일러가 함수 템플릿을 특수화 하지 못했습니다. (0) | 2020.06.05 |
[C2683] 다형성 클래스 에러 (0) | 2020.05.26 |
[C2662] const 선언 오류 (0) | 2020.05.26 |
[C7525] "인라인 변수에는 '/std::c++17'이상이 필요합니다." 오류 (0) | 2020.05.26 |