로 선언하지, 난 g++
을 사용하고있는 오류,은, 아래의 코드를 컴파일에 범위
in int main(), t1 was not declared in this scope.
를 얻을. main()
에서 나는 이미 t1
, t2
및 t3
을 선언했습니다. 그렇다면이 오류가 발생하는 이유는 무엇입니까? time
이름
#include<iostream>
using namespace std;
class time
{
int hours;
int minute;
public:
void getdata(int h,int m)
{
hours=h;
minute=m;
}
void putdata(void)
{
cout<<"\n Hours = "<<hours;
cout<<"\n Minutes = "<<minute;
}
void sumtime(time ,time);
};
void time::sumtime(time t1,time t2)
{
minute=t1.minute+t2.minute;
hours=minute/60;
minute=minute%60;
hours = hours + t1.hours + t2.hours;
}
int main()
{
time t1,t2,t3;
t1.getdata(2,45);
t2.getdata(3,30);
t3.sumtime(t1,t2);
cout<<"\n T1 ... "<<t1.putdata();
cout<<"\n T2 ..."<<t2.putdata();
cout<<"\n T3 ... "<<t3.putdata();
return 0;
}
같은 오류 메시지가 나타 났지만 'error : expected'; 'before't1''이 (가)'t1, t2, t3; '. 처음보고 된 구문 오류가 가장 중요합니다. 구문 오류는 종종 컴파일러를 혼동하여 나중에 오류 메시지가 의미가 없게 만듭니다. –
'#include'은' '의 선언을 직접적으로 (또는 간접적으로) 표시 할 수 있다는 것을 매우 귀찮게합니다. 그러나 우리는 그것에 매료되어있는 것 같습니다. –
'cout << "과 같은 줄은 \\ T1 ... \\ t1.putdata();'putdata()'가'ostream'을 반환하지 않기 때문에 컴파일되지 않습니다. – vsoftco