error : expression must be a modifiable lvalue

Ich erhalte eine Fehlermeldung:

Ausdruck muss ein modifiable lvalue an der Linie, obj.name = ptr->name

Habe ich versucht obj eine array-Typ-Objekt wie so

 for(int j=0 ;j<1;j++)
{
obj[j].id = ptr->id;
obj[j].balance= ptr->balance;
obj[j].name = ptr->name;   //still getting error here.
obj[j].nic = ptr->nic;
}
return(obj);
}

aber das hat nicht funktioniert entweder.

wenn ich Kommentar die Fehler aus und übergeben Sie einfach die drei restlichen Werte sollte es funktionieren, aber ich erhalte Müll-Werte nach der ersten aus stellen.

hier ist der original code:

#include<iostream>
using namespace std;

struct bank
{
  int id, nic;
  float balance;
  char name[20];


};
bank search(bank* );

void main()

{

    bank data[2],mobj;
    for(int i=0;i<2;i++)
    {
    cout<<"enter name: ";
    cin>>data[i].name;
    cout<<"enter id: ";
    cin>>data[i].id;
    cout<<"enter balance : ";
    cin>>data[i].balance;
    cout<<"enter nic : ";
    cin>>data[i].nic;

    }


    mobj=search(data);

    cout <<"balance of customer no. "<<mobj.balance<<endl;
    cout<<"id is" <<mobj.id<<endl;
    cout<< "nic is"<<mobj.nic<<endl;



    system("pause");
}




bank search(bank *ptr)
{   
    int id;
    cout<<"enter value you want to serch"<<endl;
    cin>>id;
    bank obj;
for(int i=0 ; i<2 ;i++)
{
    if(ptr->id == id)
    {
        break;
    }
    ptr++;
}

obj.id = ptr->id;
obj.balance= ptr->balance;
obj.name = ptr->name;    //error in this line(obj must be modifiable value)
obj.nic = ptr->nic;

return(obj);
}

bitte helfen, wie Sie sehen, passen!

Sie können nicht Zuordnung auf arrays.
In C++ sollte man (fast) nie verwenden nur C-style arrays. Verwenden std::vector oder std::array je nachdem, ob Sie möchten, dass die dynamische oder statische Größe, oder natürlich std::string wenn Sie sind den Umgang mit strings.
Sie wieder. Nur eine Warnung: man nähert sich eine automatische Frage-Verbot-wegen dieser Abfolge von geringer Qualität "help me plz" Fragen.
Ist es nicht eigentlich egal, ob es der erste Tag oder dem letzten. Oder Ihr 4000er. Sie sollten Lesen Sie die Hilfe-Zentrum und die bestehenden Fragen, um herauszufinden, was Beiträge hier aussieht. Dass Sie noch nicht hier gewesen, sehr lange, ist nicht viel von einer Entschuldigung. Was "forum"?
Diese Frage ist viel besser als Ihre vorherigen, aber! Mein Anliegen ist es, dass die Buchung so viele Fragen in schneller Folge stark impliziert, dass Sie nicht genug Mittel Ihrer eigenen - Zeit auf Ihre Probleme. Es scheint durch das fehlen von Forschungsarbeiten, auch.

InformationsquelleAutor Mustafa Mujahid | 2014-08-19

Schreibe einen Kommentar