코드 :오류 : 상황에 맞는 유형 정보와 오버로드 된 함수의 주소
class que {
public:
que operator++(int) {} // 1
que &operator++() {}
que &operator+=(int n) {
que& (que::*go)();
go = 0; if(n > 0) go = &que::operator++ ; // 2
//go = (n > 0) ? (&que::operator++) : 0 ; // 3
}
};
int main() {
que iter;
iter += 3;
return 0;
}
내가 3 행으로 2 호선을 대체 할 (대한 문 "만약" "?").
3의 주석을 제거하면 컴파일러에서 오류가 발생합니다.
1 번 줄을 삭제하면 3 번 줄이 작동합니다.
질문 : 컴파일러가 나에게 원하는 것은 무엇입니까?
오류 : 오류 : GCC-4.5.2
오류 메시지는 무엇입니까? –
오류 : 컨텍스트 유형 정보없이 오버로드 된 함수의 주소 – all
여기서 함수 포인터를 사용해야합니까? 왜 'operator ++'를 반복해서 호출하지 않는가? –