[C++]Niedozwolone porównanie

Witam, próbowałem w pewnym momencie programu zrobić takie porównania:

if(funcs[group] == "admin")

Jednak wywaliło mi z tym:

419 C:\Dev-Cpp1\Untitled2.cpp comparison between distinct pointer types void (*)()' andconst char*’ lacks a cast

o niedozwolonym porównaniu jak myślę. Więc w jaki sposób mam to porównać?

Porownujesz dwie zmienne ktore sa innego typu. Jesli nie jeste tego duzo to wklej wiekszy fragment kodu.

oj, jest tego dużo, bardzo dużo. Ale to chyba powinno wystarczyc

if(pass == readPassword(files[group]))

    {

        cout << "access granted" << endl;

        funcs[group]();


        if(funcs[group] == "admin")

        cout << "Test udany dla admina";


        if (funcs[group] == "moderator")

        cout << "Test udany dla moda";


        if (funcs[group] == "employee")

        cout << "Test udany dla pracownika";

    }

    else

        cout << "access denied" << endl;

Może byś pokazał deklarację funcs? Zdaniem kompilatora funcs fo funkcja (czy tablica funkcji). Jeśli ponownie próbujesz wprowadzić w życie pomysł operowania na nazwach konstruktów w czasie działania programu (wcześniej chciałeś stworzyć zmienną o jakiejś nazwie w czasie działania aplikacji) to ponownie powtarzam Ci, że nie możesz tego zrobić.