如何修复此错误:className::className的无效使用
How to fix this- error: Invalid use of className::className?
获取错误:className::className的使用无效。
试图创建一个表示一天中的时间的timeStamp类,它将秒、分钟和小时存储在特定的变量中。在主函数的第13行遇到错误,错误为:无效使用timeStamp::timeStamp我做错了什么?有一个头文件,其中声明了所有方法。
源文件cpp:
#include "timeStamp.h"
#include <iostream>
using namespace std;
timeStamp::timeStamp()
{
Hour = 0;
Minute = 0;
Second =0;
}
timeStamp::timeStamp(int h, int m, int s){
Hour = h;
Minute = m;
Second = s;
}
int timeStamp::getHour(){
return Hour;
}
int timeStamp::getMinute(){
return Minute;
}
int timeStamp::getSecond(){
return Second;
}
bool timeStamp::operator!=(timeStamp t){
if (Second ==t.Second && Minute ==t.Minute && Hour ==t.Hour)
return true;
else
return false;
}
void timeStamp::Print()
{
std:: cout<<"Hour:"<<Hour<<"nMinute:"<<Minute<<"nSecond:"<<Second<<std::endl;
}
Main:
#include <iostream>
#include "timeStamp.cpp"
using namespace std;
int main()
{
timeStamp obj1, obj2;
int h,m,s;
cout<<"Give hour minute and second:";
cin>>h>>m>>s;
obj1.timeStamp(h,m,s); //error
cout<<"Give H M S";
cin>>h>>m>>s;
obj2.timeStamp(h,m,s);
bool isEqual = obj1 ! = obj2;
cout<<isEqual<<endl;
}
这不是构建对象的方式。
你必须在定义的时候给出构造函数的参数。
以后不能像调用函数一样调用构造函数。
int main()
{
int h,m,s;
cout<<"Give hour minute and second:";
cin>>h>>m>>s;
timeStamp obj1(h,m,s);
cout<<"Give H M S";
cin>>h>>m>>s;
timeStamp obj2(h,m,s);
bool isEqual = obj1 ! = obj2;
cout<<isEqual<<endl;
}
我相信你的书对此会有更详细的介绍。
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 无法访问嵌套类.类的使用无效
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 如何解决错误:SCIP C++中的 SCIP 阶段无效 <10>
- 在没有参数列表的情况下使用模板名称"Event"无效,模板问题
- FFMPEG配置文件级别id大小无效
- 错误:从"int"到枚举c++的转换无效
- 如何修复此错误:className::className的无效使用
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- C++-模板嵌套类的引用初始化无效
- 错误:无效的预处理指令 #i 的意思是 #if?
- 多维数组 C++ 中数组下标的类型"int[int]"无效
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- 枚举类'classname'的多重定义
- 从 'int' 到 'int*' CPP 的转换无效
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- 由于无效的 ValidateRgn() 子窗口不会收到WM_PAINT消息
- C++ PTHREADS - 无效转换无效*(*)()到无效*(*)(无效*)
- 声明为无效的变量或字段'...' Ardunio 编译器上的错误
- 数组下标的类型"float*[float]"无效