Используется неинициализированная локальная переменная tc ( ошибка)
struct dat { int day; int month; int year; int cday; int cmonth; int cyear; }; void dob() { dat d; cout << " enter date of birth"; cout << endl; cout << " enter day"; cin >> d.day; cout << endl; cout << " month"; cin >>d.month; cout << endl; cout << "year"; cin >> d.year; cout << endl; cout <<d. day << "-" << d.month << "-" <<d.year; cout << endl; cout << endl; } void cdob() { dat cd; cout << " enter current date "; cout << endl; cout << " enter day"; cin >> cd.day; cout << endl; cout << " month"; cin >> cd.month; cout << endl; cout << "year"; cin >> cd.year; cout << endl; cout << cd.day << "-" << cd.month << "-" << cd.year; cout << endl; cout << endl; } void tdob() { dat tc; int tyear; tyear = tc.cyear - tc.year-1; int days; days = tc.day - tc.cday; int tmonth; tmonth = tc.month + tc.cmonth; cout << " year = " << tyear; cout << endl; cout << " total days" << days; cout << endl; cout << "total month" << tmonth; cout << endl; } void main() { dob(); cdob(); tdob(); }
Что я уже пробовал:
void tdob() { dat tc; int tyear; tyear = tc.cyear - tc.year-1; int days; days = tc.day - tc.cday; int tmonth; tmonth = tc.month + tc.cmonth; cout << " year = " << tyear; cout << endl; cout << " total days" << days; cout << endl; cout << "total month" << tmonth; cout << endl; }
Kornfeld Eliyahu Peter
Что тут непонятного?
У вас есть tc (в tdob), который никогда не получает значений, поэтому он имеет некоторый мусор в качестве значения, но вы все равно используете его, поэтому вы получаете предупреждение (C4700), но вы работаете с предупреждениями как ошибками, поэтому это оказывается ошибкой...