To nie działa:
{
private:
int plansza[5][5];
public:
int operator [] (int x, int y); // Tak nie działa
int operator [][] (int x, int y); // Tak nie działa
} test;
...
int x = test[2][2]; // Tak chcę się odwoływać do pola planszy
Zna się ktoś?
(...) że jest to programistyczny trick polegający na oszukaniu kompilatora.
W międzyczasie szukałem innych rozwiązań i trafiłem na używanie klasy pomocniczej co zaciemniało kod i było "wolne".
Jak to wykorzystać do przeciążenia trzeciego operatora indeksowania?
lidmian napisał(a):(...) że jest to programistyczny trick polegający na oszukaniu kompilatora.
Jak oszukać komputer by zrobił coś do czego nie został zaprogramowany???
(...) a kompilator nie skompiluje kodu niezgodnego z językiem programowania.
Gdyby sytuacja o której piszesz, czyli - coś jest zgodne składniowo, ale nie jest zgodne z językiem programowania - zadziałało to powiedziałbym, że faktycznie kompilator dał się oszukać.
Twój kod nie wykracza jednak poza ramy języka programowania, lecz wykorzystuje jego luki.
Stwórz kod zawierający błąd składniowy a mimo to dający się skompilować, wtedy uznam, że kompilator został oszukany.
Oszukać można tylko osobę mającą świadomość i przekonaną, że ma do czynienia z prawdziwym obrazem rzeczywistości, podczas gdy wytworzony został obraz fałszywy. To nie ma miejsca w przypadku kompilatora, gdyż nie posiada TO świadomości.
Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 7 gości