#include<iostream>
#include <conio.h>
using namespace std;
struct book
{ int bookid;
char title[20];
float price;
}b2;
int main()
{
b2={100,"c++ by saurabh",105.2}; //values initialised during variable declaration
cout<<"\n"<<b2.bookid;
cout<<b2.title<<" "<<b2.price;
return 0;
getch();
}
Das obige Code zeigt Fehler in der Ausgabe wie folgt aus:keine Übereinstimmung für ‚Operator =‘ (Operandentypen sind ‚Buch‘ und ‚<geschweiften Klammern stehenden Initialisiererliste>‘)
C:\Users\shandude\Documents\codeblock\cprog\struct2.cpp|13|error: no match for 'operator=' (operand types are 'book' and '')|
C:\Users\shandude\Documents\codeblock\cprog\struct2.cpp|5|note: no known conversion for argument 1 from '' to 'const book&'|
Was denkst du 'b2 = {100," C++ von suarabh ", 105.2}; 'soll das machen? – Galen
Off topic, aber die letzten beiden Zeilen 'return 0;' und 'getch();' sollten umgekehrt werden. 'getch();' wird absolut nichts tun. Die Anwendung wird zurückkehren, bevor diese Zeile jemals aufgerufen wird. Außerdem: '' namespace std; 'im globalen Geltungsbereich zu verwenden, ist niemals eine gute Idee oder gute Praxis. –
Sollte der Code _initialize_ 'b2' (Teil der' b2'-Erstellung) oder _assign_ ein Wert für 'b2 (Wert nach der Erstellung) sein? – chux