원인
한 가지는 아니겠지만 대체로 헤더파일에 연산자 함수를 정의했을 경우 벌어지는 현상(이라고 함.)
해결책
1) operator 함수를 inline으로 정의
(사실 보통 이렇게 하니까 저 에러를 만날일이 잘 없음.)
이 간단한걸 몰라서 무려 30분(영감을 얻기 위한 고결한 응가시간 포함)이나 지체시켰다니.. 에효
한 가지는 아니겠지만 대체로 헤더파일에 연산자 함수를 정의했을 경우 벌어지는 현상(이라고 함.)
해결책
1) operator 함수를 inline으로 정의
2) 헤더에는 선언만 하고 코드는 소스로 옮길 것.
ostream& operator<<(ostream& o, const ArpTuple& t)
{
return o << t.first << ' ' << t.second << ' ' << t.third;
}
=>
inline ostream& operator<<(ostream& o, const ArpTuple& t)
{
return o << t.first << ' ' << t.second << ' ' << t.third;
}
(사실 보통 이렇게 하니까 저 에러를 만날일이 잘 없음.)
이 간단한걸 몰라서 무려 30분(영감을 얻기 위한 고결한 응가시간 포함)이나 지체시켰다니.. 에효
TAG c++

댓글을 달아 주세요
관리자만 볼 수 있는 댓글입니다.