にこの質問を約C++
ですが、それはアルドゥイーノとの対話、そして私はソフトウェアの男ませんので、私は他の誰のいくつかのビューを取得するために幸せになります。 私はすでに快適ゾーンから外れていることを知っており、嫌悪者を引き付けるだろうが、もしあなたの人のうちの一人がこれをどうやってやるのかを考えてくれたら、感謝するだろう。そう渡す関数ポインタC++
Arduino main program:
//instance
Main interpreter;
//set delegate
interpreter.setDelegate(intepreterDelegate);
//delegate function
float intepreterDelegate(char *arg){return 3;}
Main
クラス、その後、別のクラスのインスタンスを作成してSub
呼ばれ、そして:Arduino
で
は、ユーザがクラスのインスタンスを作成し、そのデリゲートメソッドを設定
Sub - > send delegate to Main-> send delegate to Arduino
Main
クラスは、のサブメッセージからの委任メッセージを正常に取得します。
Main.h
//being called from the sub
static float fromSubDelegate(char *arg){
// *Here I am trying to push forward this delegate out to the user on arduino
Main. b;
float result = (b.*b.fpAction)(arg);
return result;
};
float (Main.::*fpAction)(char*) = 0 ;
void setDelegate(float(*fp)(char*));
問題は、私は私が私が持っているすべてのデータを提供しているデリゲート
//arduino set this delegate of the main class .cpp
void Main.::setDelegate(float(*fp)(char*))
{
fpAction = fp; // *gives error because fpAction is a member function
}
を設定Main.cpp
にhere-です。 私は、したがって、私は間違ったことをやっているかもしれませんが、C++プログラマはないです、SO 私が助けを
あなたの投稿を答えとしてマークしてください – djUniversal