마우스 왼쪽 버튼을 사용하여 양식 이동을 시도하고 있습니다.^나는 포인트로 변수 mousePos을 생성 -지점 간 변환^
error C2664: 'void System::Windows::Forms::Control::Location::set(System::Drawing::Point)' : cannot convert parameter 1 from 'System::Drawing::Point ^' to 'System::Drawing::Point'
이해가 안 :
if(e->Button == Windows::Forms::MouseButtons::Left)
{
Point^ mousePos = gcnew Point();
mousePos = Control::MousePosition;
mousePos->Offset(mouse_offset->X,mouse_offset->Y);
Location = mousePos;
}
코드 확인을 보이지만, 비주얼 반환 오류 :이 있습니다. 뭐가 잘못 됐는지 알아?
"Point로 변수 mousePos를 만들었습니다 ^"- 그게 문제입니다. 이 메서드는 Point를 기대하지만 Point에 대한 포인터를 제공하고 있습니다. –
@ H2CO3 : 당신이 맞았 어, 도움을 주셔서 감사합니다. –
이 같은 코드를 작성할 때 더 큰 문제가 있습니다. 참조 유형 (모자를 사용하는 것)과 Point와 같은 값 유형 간의 차이를 이해하지 못합니다. 중요한 것은 * 상자 형 * 값 유형을 만드는 Point^like를 만드는 것입니다. Point에 대한 포인터가 아니라 객체 참조입니다. 너무 비효율적이며 너무 많은 경우에 불만없이 컴파일러에서 받아들입니다. 여기에 컴파일 오류가 발생하면 운이 좋다. C++/CLI에 관한 모든 책은 그 차이점을 이해하는 데 도움이 될 것입니다. –