ave!
Mam problem, który jest prawdopodobnie tak prosty, że nikt o tym nie mówi :) Literatura albo opisuje referenencje typów prostych, albo klas w czystym C++. A mi chodzi o Borlandowskie obiekty.
Chciałbym użyć referencji podczas przekazywania do funkcji obiektu typu TEdit (jako parametru). To ma być po to, żeby ta jedna funkcja mogła zmieniać zawartość wielu różnych pól Edit bez dublowania kodu.
Na wskaźnikach całość wygląda tak, jak poniżej i normalnie mi działa (napisałem taki prościutki przykład, ale wiadomo - trudniejsze też zadziałają :) ). Chciałbym zamiast wskaźnika mieć tam referencję. Nie wystarczy do tego zmienić * na &. Pewnie trzeba coś jeszcze.
Powiedzmy, że na formie mam Edit1 i Button1.
Jak to przepisać, żeby użyć referencji?
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int zmien (TEdit *okno);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
zmien (Edit1);
}
//---------------------------------------------------------------------------
int zmien (TEdit *okno)
{
okno->Text = '9';
return 0;
}
Jestem zaskoczony. Nikt jeszcze nie odpowiedział. A przecież pytanie było bardzo proste i wyraziłem się maksymalnie jasno. Chodzi o to, jak w podanym banalnym przykładzie zastąpić wskaźnik referencją.
Nikt mnie też nie zwyzywał, że mam poczytać FAQ, manuale, książki, zajrzeć na google itd. itp.
Może to znaczy, że jednak nie jest to temat do Newbie, tylko do dedykowanego forum o C++.
Czy można prosic moratora o przeniesienie?