Tut mir leid, wenn dies ein Noob-Fehler ist, ich bin wirklich neu in C++. Mein cin
nimmt nicht den Wert an, den ich versuche, ihn zu übergeben.
void getData(incomeInfo incomeInfo, const int NUM_EMPS) {
for (int i = 0; i < NUM_EMPS; i++) {
cout << "Employee #" << i + 1 << "'s name: " << endl;
cin >> incomeInfo[i].name;
cout << endl;
cin.ignore();
}
Die EinkommenInfo-Struktur:
struct incomeInfo {
string name;
double pay;
double healthInsuranceDeduction;
};
Und der Anruf:
incomeInfo employees[NUM_EMPS];
Die Fehlermeldung die ich bekomme ist No operator [] matches these operands; operands types are incomeInfo[int]
. Ich übergebe es an int
. Vielen Dank!
Sie deklarieren Ihre Funktion falsch, Sie benötigen ein Array oder einen Zeiger und incomeInfo
sind nur eine Struktur, die Sie nicht verwenden können incomeInfo[i].name
. Folgendes sollte funktionieren, achten Sie auf die Groß- und Kleinschreibung:
struct IncomeInfo
{
string name;
double pay;
double healthInsuranceDeduction;
};
void GetData(IncomeInfo* incomeInfo, const int count)
{
for (int i = 0; i < count; i++)
{
cout << "Employee #" << i + 1 << "'s name: " << endl;
cin >> incomeInfo[i].name;
cout << endl;
cin.ignore();
}
}
void main()
{
IncomeInfo employees[NUM_EMPS];
GetData(employees, NUM_EMPS);
}
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen