2012-12-18 3 views
0

Visual Studio 2005를 사용하여 C++을 배우려고합니다. 많은 그림 상자가 포함 된 양식을 작성했으며이를 통해 배열을 참조 할 수 있기를 바랍니다. 배열을 만들기 전에 포인터 변수를 하나 생성하여 변수의 작동 방식을 확인하려고합니다.그림 상자에 포인터

System::Windows::Forms::PictureBox *p = &animation::Form1::Boule1; 

그러나 그것은 변환 할 수 없다는 나에게 오류 2440을 제공 : 여기

내가 무엇을 시도했다입니다. 나는 또한 * 대신에 시도했지만 * 작동하지 않습니다.

어떻게해야합니까?

감사합니다.

+0

관련이 없지만 2005 년 이유는 무엇입니까? 어쩌면 Boule1 이미 포인터, 이렇게 : System :: Windows :: Forms :: PictureBox * p = animation :: Form1 :: Boule1; – Aaron

+0

양식 안에는'PictureBox^p = this-> Boule1;'만 쓰면됩니다. 당신이하고있는 일은 당신이 원하는 것이 아닌 데이터 멤버에 대한 포인터를 얻는 것과 비슷합니다. 또한 사용중인 것은 ** ** C++가 아니라 C++/CLI입니다. 완전히 다른 언어입니다. C++을 배우고 싶다면 "CLR"프로젝트 변형을 버리고 대신 "Win32"를 사용하십시오. – ildjarn

+0

@ user1914198 : 당신의'Form1' 객체의 이름을 사용하고'Boule1'이 public인지 확인하십시오 - 당신이'Form1' 객체를 가지고 있지 않으면'Form1'의 데이터 멤버들에 접근 할 수 없습니다. ; -] – ildjarn

답변

1

animation :: Form1 :: Boule1은 이미 포인터 일 수 있습니다. 이 경우 다음을 수행하십시오.

System::Windows::Forms::PictureBox *p = animation::Form1::Boule1 

그렇지 않으면 변환 할 내용을 알 수 있습니까?

관련 문제