Frage zu TRadioButton



  • wie schon im vorangegangenen http://www.c-plusplus.net/forum/viewtopic-var-p-is-977744.html angerissen:

    int aa = 0, bb = 0, wu = 0, erg = 0, eg[9]; 
    bool ueberlauf = false, rb0 = false, rb1 = false, rb2 = false, norb = false; 
    AnsiString ff = ""; 
    //Initialisierung------------------------------------------------------------ 
    
    void __fastcall Tmainform::FormCreate(TObject *Sender) 
    { 
      bckgrnd_image->Picture->LoadFromFile("D:\\Programme\\Borland\\CBuilder6\\Projects\\Enneagramm\\enneagramm_bgrnd.bmp"); 
      text_fragen->Visible = false; 
      rbut_0->Checked = &rb0; 
      rbut_1->Checked = &rb1; 
      rbut_2->Checked = &rb2; 
    } 
    // Kein Radiobutton Checked?------------------------------------------------- 
    
    bool norbchk(bool& nu, bool& ei, bool& zw) 
    { 
      bool xy = true; 
    
      if (!nu && !ei && !zw) warningform->ShowModal(); 
      else xy = false; 
      return xy; 
    } 
    //Funktion Weiter button----------------------------------------------------- 
    
    void next_but() 
    {   
      if (norbchk(rb0, rb1, rb2)) return; 
      wu = rbcheck(rb0, rb1, rb2); 
      erg[&aa] = ergfkt(aa, wu); 
      ueberlauf = uebrlaufa(aa, ueberlauf); 
      aa = questa(aa, ueberlauf); 
      ff = fragen_typ[aa][bb]; 
      if (ff == "") next_but();                      //falls kein Satz vorhanden 
      bb = questb(aa, bb); 
    } 
    //Weiter Button-------------------------------------------------------------- 
    
    void __fastcall Tmainform::but_weiterClick(TObject *Sender) 
    { 
      ed_rb0->Text = BoolToStr(rb0); 
      ed_rb2->Text = BoolToStr(rb1); 
      ed_rb1->Text = BoolToStr(rb2); 
      next_but(); 
      text_fragen->Text = ff; 
    }
    

    warum soll

    return xy;
    

    nicht gehen?

    zu Braunstein

    ein Pointer ist meines wissens mit "*" zu bezeichnen und nicht mit "&". Das soll lediglich eine Referrenz darstellen



  • Sorry, da habe ich mich verlesen und dacht eine void Funktion sollte ein return xy haben



  • @b43r_3oo3
    Das kommte darauf an wo diese Zeichen stehen. Bei Deklarationen kennzeichnet & eine Referenz und * einen Pointer. Bei dir waren es Zuweisungen und da wirkt & als Referenzierung d.h. gibt dir die Adresse dieser Variable zurück (Pointer). Mal abgesehen davon ist Checked eine Property und keine Variable d.h. da kann eine Zugriffsfunktion dahinterstehen und du kannst nunmal einer Zugriffsfunktion keine Referenz zuweisen.
    Wozu soll das mit den globalen Variablen und den Referenzen überhaupt gut sein?


Anmelden zum Antworten