2013-05-18 4 views
0

이유가 ZeroMemory(&socketAddress, sizeof(Connection::socketAddress));이 작동 하나이 문제는 해결되지 않습니까?C++ 컴파일 오류 c2664 ZeroMemory

ZeroMemory(&Connection::socketAddress, sizeof(Connection::socketAddress)); 

는이 오류를 얻을 : error C2664: 'memset' : cannot convert parameter 1 from 'sockaddr_in Connection::* ' to 'void *'

답변

2

&Connection::socketAddress는 멤버 포인터입니다. 그 자체가 포인터는 아니지만 클래스에 대한 포인터가 주어진 클래스의 특정 멤버에 대한 포인터를 얻는 방법입니다. ZeroMemory은 실제 메모리를 가리 키지 않기 때문에 받아 들일 수 없습니다. 실제 포인터를 얻기 전에 더 많은 정보 (멤버가 들어있는 클래스의 인스턴스에 대한 포인터)가 필요합니다.

구성원 포인터에 대한 자세한 내용은 this question을 참조하십시오.