übergeben eines AnsiStrings an einen Konstuktor



  • Hi,

    folgende Sachlage. Ich habe eine Klasse Spieler definiert

    class Spieler
    {
     private:
             int liIndex;
             AnsiString name[NAME];
             int spielerOpp[GAMES];
             int spielerPkt[GAMES];
     public:
            int spielerErstellen( AnsiString * );
    //        void ~spielerEntfernen();
    };
    

    Die Methode SpielerErstellen soll den Namen der über den AnsiString übergeben wird ( dieser stamt ursprünglich aus einem Edit Feld ) in der Variable name abspeicher.

    int Spieler::spielerErstellen( AnsiString *pName )
    {
     Form1->lHin->Caption = name;
     return 0;
    }
    

    jetzt kommt allerdings beim compilieren diese Meldung:

    [C++ Fehler] class_spieler.h(18): E2034 Konvertierung von 'AnsiString *' nach 'AnsiString' nicht möglich

    Was mach ich falsch?

    Sorry I´m a newbie.



  • sorry typo...
    allerdings gleicher effekt!

    int Spieler::spielerErstellen( AnsiString *pName ) 
    { 
     Form1->lHin->Caption = pName; 
     return 0; 
    }
    


  • Warum übergibst du einen Zeiger auf AnsiString?



  • ich bin c gewohnt dort mußt du wenn du z.B. einen Zeiger auf eine Integer Variable hast ist dieser vom selben Typen.

    wie muß es den ausschauen?



  • Auch in C kennt man call by Value...

    Ahja C++ kennt übrigens n och call by reference. Dasistauchw as ganz witziges... wobei hier vermutlich ein Call by Value reichen sollte...

    -junix


Anmelden zum Antworten