2
을 만드는 방법
추가 다음 변경 :처리기
Emily::oSeMac^ Terminal;
Emily::AsyncSocketController^ _socketManager;
delegate void DataArrival(String^, array<unsigned char, 1>^, System::Net::IPEndPoint^);
void _socketManager_onDataArrival(String^ SocketID, array<unsigned char, 1>^ SocketData, System::Net::IPEndPoint^ RemoteIP)
{
System::Object^ retData = Terminal->WhoCame (SocketID, SocketData, RemoteIP, _socketManager, 0);
}
Form1(void)
{
InitializeComponent();
_socketManager = gcnew Emily::AsyncSocketController(2000);
_socketManager->onDataArrival += gcnew DataArrival(this, &AC_WebPassManager::Form1::_socketManager_onDataArrival);
_socketManager->Start();
Terminal = gcnew Emily::oSeMac();
}
오류 오류 C2664 : '에밀리 :: AsyncSocketController :: onDataArrival :: 추가': 매개 변수 1 변환 할 수 없습니다 'AC_WebPassManager :: Form1에 :: DataArrival ^' 'Emily :: AsyncSocketController :: onDataArrivalEventHandler ^' 1> 사용할 수있는 사용자 정의 변환 연산자가 없습니다. 또는 1> 가리키는 형식과 관련이 없습니다. 변환은 reinterpret_cast, C 스타일 캐스트 또는 함수 스타일 캐스트가 필요 1>
코드를 변경하십시오. Emily :: oSeMac^Terminal; Emily :: AsyncSocketController^_socketManager; public : delegate DataArrival (String ^, array <부호없는 char, 1> ^, System :: Net :: IPEndPoint ^); 공극 _socketManager_onDataArrival (문자열^SocketID 배열 <부호 문자 1>^SocketData 시스템 :: 넷 :: IPEndPoint로^RemoteIP) \t \t { 시스템 개체 :: =^retData 터미널 -> WhoCame (SocketID, SocketData, RemoteIP , _socketManager, 0); \t \t} – user372145
를 Form1 (공극) \t \t \t \t { \t의 InitializeComponent(); \t \t \t _socketManager = gcnew Emily :: AsyncSocketController (2000); \t \t \t _socketManager-> onDataArrival + = gcnew DataArrival (this, & AC_WebPassManager :: Form1 :: _ socketManager_onDataArrival); \t \t \t _socketManager-> Start(); \t \t \t 터미널 = gcnew Emily :: oSeMac(); \t \t – user372145
오류 1> d : \ projects \ ac_webpassmanager \ ac_webpassmanager \ Form1.h (36) : 오류 C2146 : 구문 오류 : ';'이 (가) 없습니다. 식별자 'DataArrival'앞에 1> d : \ projects \ ac_webpassmanager \ ac_webpassmanager \ Form1.h (36) : 오류 C4430 : 누락 된 형식 지정자 - 가정합니다. 참고 : C++은 default-int 을 지원하지 않습니다. 1> d : \ projects \ ac_webpassmanager \ ac_webpassmanager \ Form1.h (36) : 오류 C4430 : 누락 된 유형 지정자 - int가 사용됩니다. 참고 : C++는 default-int 을 지원하지 않습니다. d> \ projects \ ac_webpassmanager \ ac_webpassmanager \ Form1.h (36) : – user372145