
求大神解答这个C++程序的错误是怎么回事C:\C++\E6.CPP(73) : error C2065: 'i' : undeclared identifier
#include<iostream>usingnamespacestd;classClock{public:Clock(intnewH,intnewM,intnewS);...
#include<iostream>
using namespace std;
class Clock
{
public:
Clock(int newH,int newM,int newS);
Clock()
{
hour=0;
minute=0;
second=0;
}
Clock(Clock &c)
{
hour=c.hour;
minute=c.minute;
second=c.second;
}
~Clock()
{}
void setTime(int newH,int newM,int newS);
void showTime();
private:
int hour,minute,second;
};
void Clock::setTime(int newH,int newM,int newS)
{
hour=newH;
minute=newM;
second=newS;
}
inline void Clock::showTime()
{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
int main()
{
int h,m,s,n;
int Nhour,Nminute,Nsecond;
Clock clock[100];
Clock one;
Clock two(1,1,1);
Clock three(two);
Clock *c;
Clock myClock;
cout<<"First time set and output:"<<endl;
myClock.setTime(0,0,0);
myClock.showTime();
cout<<"Please inter the time"<<endl;
cin>>h>>m>>s;
cout<<"Second time set and output:"<<endl;
if(0<=h&&h<=23&&0<=m&&m<=59&&0<=s&&s<=59)
{
myClock.setTime(h,m,s);
myClock.showTime();
}
else
{
cout<<"Wrong input!"<<endl;
cin>>h>>m>>s;
myClock.setTime(h,m,s);
myClock.showTime();
}
one.showTime();
two.showTime();
three.showTime();
do
{
cout<<"please enter the number of times:";
cin>>n;
}while(n<=1);
for(i=0;i<n;i++)
{
cout<<"Please enter the hour minute second:";
cin>>Nhour>>Nminute>>Nsecond;
c=new Clock(Nhour,Nminute,Nsecond);
clock[i]=*c;
}
for(int i=0;i<n;i++)
{
clock[i].showTime();
}
return 0;
} 展开
using namespace std;
class Clock
{
public:
Clock(int newH,int newM,int newS);
Clock()
{
hour=0;
minute=0;
second=0;
}
Clock(Clock &c)
{
hour=c.hour;
minute=c.minute;
second=c.second;
}
~Clock()
{}
void setTime(int newH,int newM,int newS);
void showTime();
private:
int hour,minute,second;
};
void Clock::setTime(int newH,int newM,int newS)
{
hour=newH;
minute=newM;
second=newS;
}
inline void Clock::showTime()
{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
int main()
{
int h,m,s,n;
int Nhour,Nminute,Nsecond;
Clock clock[100];
Clock one;
Clock two(1,1,1);
Clock three(two);
Clock *c;
Clock myClock;
cout<<"First time set and output:"<<endl;
myClock.setTime(0,0,0);
myClock.showTime();
cout<<"Please inter the time"<<endl;
cin>>h>>m>>s;
cout<<"Second time set and output:"<<endl;
if(0<=h&&h<=23&&0<=m&&m<=59&&0<=s&&s<=59)
{
myClock.setTime(h,m,s);
myClock.showTime();
}
else
{
cout<<"Wrong input!"<<endl;
cin>>h>>m>>s;
myClock.setTime(h,m,s);
myClock.showTime();
}
one.showTime();
two.showTime();
three.showTime();
do
{
cout<<"please enter the number of times:";
cin>>n;
}while(n<=1);
for(i=0;i<n;i++)
{
cout<<"Please enter the hour minute second:";
cin>>Nhour>>Nminute>>Nsecond;
c=new Clock(Nhour,Nminute,Nsecond);
clock[i]=*c;
}
for(int i=0;i<n;i++)
{
clock[i].showTime();
}
return 0;
} 展开
1个回答
展开全部
第73行用到的i没有定义,在用i之前加上 int i ;就可以了
追问
改成后显示E6.OBJ : error LNK2001: unresolved external symbol "public: __thiscall Clock::Clock(int,int,int)" (??0Clock@@QAE@HHH@Z)
Debug/E6.exe : fatal error LNK1120: 1 unresolved externals
追答
这个是链接错误了,前面是编译错误。
你这个错误是Clock::Clock(int,int,int)这个函数没有实体,无法链接,在你上面的程序中确实只有声明,没有实体,你把这个实体加上就可以了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询