Czołem. Mam przykładową klasę:
class Rycerz
{
public:
int stanHP;
enum statusRycerza {zyje, martwy};
statusRycerza status;
void sprawdzStanRycerza();
void wyswietlStanRycerza();
};
Jest funkcja, która nadaje status typowi wyliczeniowemu oraz funkcja, która na jego podstawie coś wyświetla:
void Rycerz::wyswietlStanRycerza()
{
switch(status)
{
case zyje: cout << ":)" << endl; break;
case martwy: cout << "[*]" << endl; break;
}
}
I tu wszystko działa. Chciałem jednak spróbować wyświetlić te informacje przekazując obiekt przez referencję:
void pokazStanRycerza(Rycerz rycerz)
{
switch(rycerz.status)
{
case 0: cout << ":)" << endl; break;
case 1: cout << "[*]" << endl; break;
}
}
Czy da się odwołać do statusu inaczej niż przez liczby? Próbowałem różnych sposobów, np:
case rycerz.status::zyje:
case status::zyje:
case rycerz.zyje:
case status.zyje:
Ale nic nie działa. Ma ktoś jakieś dane na ten temat ;) ?