Tak jak w pytaniu czy istnieje jakaś możliwość przekazania wartości elementu listy (char) jako argumentu do switch case?
A drugi problem to wskaźniki do funkcji. Alternatywą (jeśli nie da się przekazać elementu listy do switcha) byłoby przekazanie wskaźnika do funkcji jako elementu listy.
Problem do rozwiązania jest następujący: muszę stworzyć listę metod które potrzebuje potem otworzyć zgodnie z kolejnością argumentów podanych przy wywołaniu programu. Podaje tu okrojony kod (orientacyjnie) żeby było wiadomo o co mi dokładnie chodzi. Ale nie wiem czy jest to dobre rozwiązanie. Bardzo dziękuję za wszelką pomoc :)
int main(int argc, char * argv[])
{
list<char> lista;
while(i<argc)
{
if (argv[i][0] == '-' )
{
switch (argv[i][1])
{
case 'i':
{
/* wczytuje nazwe pliku z danymi */
}
case 'o':
{
/* wczytuje nazwe pliku do zapisu */
}
case 'G':
{
//funkcja z wywolaniem
oper = argv[i][1];
lista.push_back(oper);
i++;
}
/* ... dalej jeszcze kilka innych parametrow ... */
}
else
{cout << "Błędne wywołanie\n\n";exit(1);}
}
/* teraz wywołuje liste z parametrami */
for(list<char>::iterator list_iter = lista.begin(); list_iter != lista.end(); list_iter++)
{
cout<<&*list_iter<<endl;
/* w tym miejscu chciałem żeby wywołała się też odpowiednia funkcja
przypisana do parametru */
}
}
}