void function(Road& R, int timestep) {
for(vector<int>::iterator it = R.void1().begin() ; it != R.void1().end() ; it++) {
for(vector<Car>::iterator it2 = R.void2((*it)).begin() ; it2 != R.void2((*it)).end() ; it2 ++) {
if((*it2).get_travel_time() >= R.get1((*it))
(*it2).init_travel_time();
else
(*it2).incr_travel_time(timestep);
}
}
}
这适用于Dev c ++,但不适用于gcc和任何其他编译器。
#include <iostream>
using namespace std;
class time{
int date,month,year;
public:
void gettime(){
cout<<"enter the (date/month/year)\n";
cin>>date>>month>>year;
}
void show(){
cout<<"Your age is:-"<<date<<month<<year;
}
friend time Add(time a1,time a2);
};
time Add(time a1,time a2){
time temp;
if(a2.date<a1.date)
{
a2.date=a2.date+30;
temp.date=a2.date-a1.date;
a2.month=a2.month-1;
}
else
temp.date=a2.date-a1.date;
if(a2.month<a1.month)
{
a2.month=a2.month+12;
temp.month=a2.month-a1.month;
a2.year=a2.year-1;
}
else
temp.month=a2.month-a1.month;
temp.year=a2.year-a1.year;
return (temp);
}
int main()
{
time a1,a2,t3;
a1.gettime();
a2.gettime();
t3=Add(a1,a2); //this is the friend function
t3.show();
return 0;
}
答案 0 :(得分:0)
iostream
正在加入time.h
或ctime
。这是在全局命名空间和/或time_t time(time_t *t);
命名空间中声明函数std
,导致名称冲突。
要解决此问题,请重命名您的类,或在您自己的命名空间中定义它。
我还recommend staying away from using namespace std;
以避免其他名称冲突或歧义,尽管在这种情况下它不是您的问题的原因。