Variable übergeben - [done]



  • Hallo,
    ich übersetze im Moment ein Delphi Programm von mir in C++.
    Dabei bin ich auf ein Problem gestoßen.
    Ich übergebe einigen Funktionen Variablen-Parameter, also quasi Pointer.
    In Delphi schaut das so aus:

    procedure CleanBin(var input : string);
      var i : integer;
      begin
        for i:=0 to length(input) do
        begin
          if (input[i]<>'0') and (input[i]<>'1') then delete(input,i,1);
          if ord(input[i])<32 then delete(input,i,1);
        end;
      end;
    

    in C++ habe ich das folgendermaßen übersetzt:

    void CleanBin(AnsiString *input)
    {
        for (int i=0; i< input->Length(); i++)
        {
            if ((input[i] != '0') && (input[i] != '1')) input->Delete(i,1);
            if (input[i]<32) input->Delete(i,1);
        }
    }
    

    versuche ich nun aber folgendes:

    ...
    AnsiString str1 = "010010100";
    CleanBin(str1);
    ...
    

    dabei bekomme ich den fehler, dass der AnsiString nicht in einen Pointer auf einen AnsiString umgewandelt werden kann.
    Sorry, hab grad total das Brett vorm Kopf. Kann mir jemand weiterhelfen?



  • na du erwartest ja auch einen Pointer.
    zB:

    AnsiString str1 = "010010100";
    CleanBin(&str1);
    


  • *g*
    alles klar,
    danke

    Problem gelöst.


Anmelden zum Antworten