문제

포인터는 과부하 해상도에 특별한 문제를 제시합니다.

예를 들어,

void f(int* x) { ... }
void f(char* x) { ...}
int main()
{
    f(0);
}

f (0)에게 전화하는 것이 무엇입니까? f (0)의 함수 호출을 어떻게 수정하려면?

도움이 되었습니까?

해결책

f((int*) 0) 또는 f((char *) 0)

그러나 당신 이이 일을한다면 나는 당신의 디자인을 다시 살펴볼 것입니다.

다른 팁

캐스트하거나 전혀 사용하지 마십시오.

f((int*)0);

F (0)을 호출하는 데 문제가있는 것은 해상도가 모호하다는 것입니다. 오버로드 된 기능 모두이 경우 캐스트를 통해서만 해결할 수있는 포인터를 사용합니다.

f((int*)0)

여기서하려는 일에 따라 모호하지 않은 다른 옵션이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top