C++ 如何选择基于循环迭代器的函数

C++ 如何选择基于循环迭代器的函数,c++,class,arduino,microcontroller,isr,C++,Class,Arduino,Microcontroller,Isr,我在这里寻找解决方案的部分问题可能是我不知道我所问问题的正确术语。为此,我事先请求原谅 对于微控制器,我有一个我希望同时启动的管脚列表。每个实例都有自己的ISR,并为每个实例调用同一个类成员,但以pin号作为参数 我试图将阵列中的每个pin连接到其相应的ISR,但我想通过pin的索引选择哪个ISR。这是邮件代码™ 很可能不会编译,但我相信这足以让人产生这样的想法: 定义PIN1 4 定义PIN2 9 定义PIN3 10 定义PIN4 8 定义PIN5 12 PinAct*pPinact;//指向

我在这里寻找解决方案的部分问题可能是我不知道我所问问题的正确术语。为此,我事先请求原谅

对于微控制器,我有一个我希望同时启动的管脚列表。每个实例都有自己的ISR,并为每个实例调用同一个类成员,但以pin号作为参数

我试图将阵列中的每个pin连接到其相应的ISR,但我想通过pin的索引选择哪个ISR。这是邮件代码™ 很可能不会编译,但我相信这足以让人产生这样的想法:

定义PIN1 4 定义PIN2 9 定义PIN3 10 定义PIN4 8 定义PIN5 12 PinAct*pPinact;//指向计数器类的指针 静态ICACHE\u RAM\u属性无效手动中断静态无效{ ppiact->handleInterrupts1; } 静态ICACHE\u RAM\u ATTR void HandleInterruptsStatic2void{ ppiact->handleInterrupts2; } 静态ICACHE\u RAM\u属性无效手动中断静态无效{ ppiact->handleinterrupt3; } 静态ICACHE\u RAM\u ATTR void HandleInterruptsStatic4void{ ppiact->handleinterrupts 4; } 静态ICACHE\u RAM\u属性无效手动中断静态无效{ ppiact->handleinterrupt5; } 品脱类{ 公众: PinAct{}; 无效手动中断; } 无效PinAct::PinAct{ int actPins[]={PIN1,PIN2,PIN3,PIN4,PIN5}; 对于int i=0;i attachingterrupt/*…*/,handleinterruptssstatic+i,/*…*/; // ^^^^^ 为了根据某个整数索引i选择要在运行时调用的函数,可以使用函数指针数组:

typedef void*函数指针\u tvoid; 函数指针\u t函数[]={ HandleInterruptsStatic1, HandleInterruptsStatic2, // ... }; //使用: 功能[i]; 附件中断/*…*/,手动中断静电+i,/*…*/; // ^^^^^ 为了根据某个整数索引i选择要在运行时调用的函数,可以使用函数指针数组:

typedef void*函数指针\u tvoid; 函数指针\u t函数[]={ HandleInterruptsStatic1, HandleInterruptsStatic2, // ... }; //使用: 功能[i];
嗯…我不确定我是否完全理解你的问题。部分问题可以通过函数指针数组解决,这正是我在寻找的@DanielJour。我不能将注释标记为答案,但它是。嗯…我不确定我是否完全理解你的问题。部分问题可以通过函数指针数组解决,这正是我所希望的正在寻找@DanielJour。我无法将任何评论标记为答案-但它是。谢谢,丹尼尔。完美。谢谢,丹尼尔。完美。