#include<iostream>
#include<fstream>
#include<string>
#include<iomanip>
using namespace std;
class InsurancePolicy
{
friend fstream& operator<<(fstream&, InsurancePolicy);
friend istream& operator>>(istream&, InsurancePolicy&);
private:
int policyNum;
string lastName;
int value;
int premium;
};
fstream& operator<<(fstream& out, InsurancePolicy pol)
{
out << pol.policyNum << " " << pol.lastName << " " << pol.value << " " << pol.premium << endl;
return out;
}
istream& operator>>(istream& in, InsurancePolicy& pol)
{
in >> pol.policyNum >> pol.lastName >> pol.value >> pol.premium;
return in;
}
int main()
{
ofstream outfile;
outFile.open("Policy.txt");
Policy aPolicy[10];
for (int count = 0; count < 10; ++count)
{
printf("Enter the policy number, the holder's last name, the value, and the premium.");
cin >> aPolicy[count];
outfile << aPolicy[count] << endl;
}
} Эта программа должна принимать значения с клавиатуры и печатать их в файл. Однако это дает кучу синтаксических ошибок.
Код серьезности Описание Ошибка состояния подавления строки файла проекта C2065 'outFile': необъявленный идентификатор Project6 c: \ users \ preston freeman \ source \ repos \ jave.cpp 39
Ошибка C2228 слева от '.open' должна иметь класс / структуру / объединение Project6 c: \ users \ preston freeman \ source \ repos \ jave.cpp 39
Ошибка C2065 «Политика»: необъявленный идентификатор Project6 c: \ users \ preston freeman \ source \ repos \ jave.cpp 40
Ошибка синтаксиса C2146: отсутствует ';' перед идентификатором 'aPolicy' Project6 c: \ users \ preston freeman \ source \ repos \ jave.cpp 40
Ошибка C2065 'aPolicy': необъявленный идентификатор Project6 c: \ users \ preston freeman \ source \ repos \ jave.cpp 40
Ошибка C2065 'aPolicy': необъявленный идентификатор Project6 c: \ users \ preston freeman \ source \ repos \ jave.cpp 44
Ошибка C2065 'aPolicy': необъявленный идентификатор Project6 c: \ users \ preston freeman \ source \ repos \ jave.cpp 45
Как мне исправить эти ошибки? Спасибо за уделенное время?
outfile
иoutFile
; такжеPolicy
иInsurancePolicy
. - person Sam Varshavchik   schedule 21.04.2018friend fstream& operator<<(fstream&, InsurancePolicy);
- Это должно быть:friend fstream& operator<<(fstream&, const InsurancePolicy&);
. Вы не должны передавать объекты по значению в функцию потоковой передачи вывода. - person PaulMcKenzie   schedule 21.04.2018