-1
Error C3352: 'void ServerClass::ActionMethod(int,int,System::String ^)' :
をデリゲート型「のボイド(ボイド)」と一致しません指定された関数は、デリゲート型「のボイド(空洞)D」と一致しません。 70 1 win32projectは、指定された関数は
つまり、win32アプリケーションはC#ライブラリを使用しています。 Win32アプリケーションがC#ライブラリのコンストラクタメソッドを呼び出すと、上記のエラーが表示されます。以下はコードです。私は何が欠けているのか分かりません。
Win32アプリケーションコード
ヘッダファイル
public ref class ServerClass
{
NetEvents::NetEventArgs^ args;
NetSockets::NetSocket^ server;
public:
void ActionMethod(int iCommand, int iClientIndex, System::String^ message);
void StartServer();
};
ソースファイル
void ServerClass::ActionMethod(int iCommand, int iClientIndex, System::String^ message)
{
}
void ServerClass::StartServer()
{
server = gcnew NetSockets::NetSocket(gcnew System::Action(this, &ServerClass::ActionMethod1));
}
C#ライブラリコード
namespace NetSockets
{
public class NetSocket
{
Action<int,int,string> actClient;
public NetSocket(Action<int, int, int> action)
{
}
public NetSocket(Action<int, int, string> action)
{
this.actClient = action;
}
}
}
スティーブ:誰もあなたに直接メールを送信しません。ここで確認してください。 – NotMe
の可能な複製[Win32アプリケーションのC++メソッドのアドレスをAC#メソッドに渡して、アクションデリゲートパラメータメソッドで渡すにはどうすればいいですか?](http://stackoverflow.com/questions/6486272/how-do-i-pass-the -add-of-ac-method-in-win32-app-to-ac-method-with-action) –