Ошибка терминала MacOS: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/istream:1634:1: примечание:
Когда я пытаюсь запустить свою программу на C++, возникает ошибка:
#include <iostream>
#include <ctime> //standard c++ library of time.h
using namespace std;
class DateCplusplus{
private:
int _day, _month, _year; //define variable
public:
void readValues(){
cout<<"Enter the day value: ";
cin>>_day;
cout<<"\nEnter the month value: ";
cin>>_month;
cout>>_year;
_year = _year - 1900;
}
int verifyValues(){
if(_day>=1 && _day <=31 && _month>=1 && _month<= 12){
return 1;
}
return 0;
}
int compareValues(){
time_t now = time(0);
tm *ltm = localtime(&now);
if((_year == ltm -> tm_year) && (_month ==1 +ltm -> tm_mon) && (_day == ltm -> tm_mday)){
return 1;
}
return 0;
}
int main(){
DateCplusplus date;
date.readValues();
cout<<"\nVerification of day and months values: "<<date.verifyValues()<<"\n";
cout<<"\nComparision of the day, the month and the year with the System current Date: "<<date.compareValues();
return 0;
}
};
В терминале отображается следующая ошибка: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/istream:1634:1: примечание: шаблон кандидата игнорируется: не может соответствовать 'basic_istream'против оператора'basic_ostream'>> (basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x)
Вы можете помочь мне найти мою ошибку?
Спасибо!
1 ответ
Ваша основная функция не может содержать никаких классов, поэтому я извлек вашу основную функцию из класса DateCplusplus, и у вас есть синтаксическая ошибка: cou>>_year, это должно быть cout<< _ year. И вы должны определить _CRT_SECURE_NO_WARNINGS в верхней части кода, если хотите для запуска, потому что местное время небезопасная функция.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <ctime>
using namespace std;
class DateCplusplus {
private:
int _day, _month, _year; //define variable
public:
void readValues() {
cout << "Enter the day value: ";
cin >> _day;
cout << "\nEnter the month value: ";
cin >> _month;
cout << _year;
_year = _year - 1900;
}
int verifyValues() {
if (_day >= 1 && _day <= 31 && _month >= 1 && _month <= 12) {
return 1;
}
return 0;
}
int compareValues() {
time_t now = time(0);
tm* ltm = localtime(&now);
if ((_year == ltm->tm_year) && (_month == 1 + ltm->tm_mon) && (_day == ltm->tm_mday)) {
return 1;
}
return 0;
}
};
int main() {
DateCplusplus date;
date.readValues();
cout << "\nVerification of day and months values: " << date.verifyValues() << "\n";
cout << "\nComparision of the day, the month and the year with the System current Date: " << date.compareValues();
return 0;
}