我有一个包含4个类对象的程序,比如PO1,PO2,PO3,PO4。 我想调用一些函数将这些对象作为for循环中的参数。 像这样:
for(int i = 0; i < 4; i++){
func(PO<i>); //Something like a macro to replace the value i in the function.
我尝试过标记粘贴,但我得到的只是POi,而不是获得i的值。 有没有办法做到这一点? (宏,功能等)
这是我的代码
Player PO[4] = {Player{'l',WHITE},
Player{'l',WHITE},
Player{'l',WHITE},
Player{'l',WHITE}
};
'l'和WHITE是参数。
答案 0 :(得分:1)
基于@ SamVarshavchik的评论,我得到了一个解决方案。
在这里,
Player *PK[4] = {&PO1,&PO2,&PO3,&PO4};
for(int i = 0; i < 4; i++}{
func(*PK[i]);
}
答案 1 :(得分:0)
使用数组或std::vector
代替
MyObject Pos[4] = {MyObject{42}, MyObject{51}, MyObject{21}, MyObject{12}};
for (auto& po : Pos) {
func(Po);
}