In codul urmator am incercat sa afisez 4 functii grupate intr-un tablou de functii cu ajutorul unui pointer catre tabloul de functii.
void (tab[4])() - tablou de 4 functii ce returneaza void; - compilatorul genereaza eroare ???
in schimb site-ul https://cdecl.org/ zice ca este ok.
Nu am reusit, asadar am nevoie de ajutor.
Astept pareri.
Code: Select all
#include <iostream>
using namespace std;
class MyClass
{
public:
MyClass()
{
cout << "\n MyClass() called!" << endl;
}
void MyFunc();
void func1();
void func2();
void func3();
void func4();
};
int main()
{
MyClass obj;
obj.MyFunc();
return 0;
}
void MyClass::func1()
{
cout << "\n Called Func1!" << endl;
}
void MyClass::func2()
{
cout << "\n Called Func2!" << endl;
}
void MyClass::func3()
{
cout << "\n Called Func3!" << endl;
}
void MyClass::func4()
{
cout << "\n Called Func4!" << endl;
}
void MyClass::MyFunc()
{
void (tab[4])() = { func1[0], func2[1], func3[2], func4[3] };
void (*ptr)();
ptr[0] = &func1[0];
ptr[1] = &func2[1];
ptr[2] = &func3[2];
ptr[3] = &func4[3];
for (int i=0; i<4; i++)
ptr[i]();
}