- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我们在学校被分配安排上课时间。他们希望我们用一个 time.h 头文件、一个 time.cpp cpp 文件和一个 main.cpp cpp 文件来分隔类。我有以下代码,但由于某种原因,我不断收到“未声明的标识符”错误。所有 3 个文件现在都包含在我的项目中。
代码如下:
时间.h
class time
{
private:
int hours;
int minutes;
int seconds;
public:
time();
time(int sec);
time(int h, int min, int sec);
int getTime();
void setHours(int h);
void setMinutes(int min);
void setSeconds(int sec);
bool equals(time t);
void addTime(time t);
void printTime();
void normalize();
};
时间.cpp
#include "time.h"
#include <iostream>
#include <iomanip>
using namespace std;
time::time()
{}
time::time(int sec)
{}
time::time(int h, int min, int sec)
{}
int time::getTime()
{
return (hours * 60 * 60) + (minutes * 60) + seconds;
}
void time::setHours(int h)
{
hours = h;
}
void time::setMinutes(int min)
{
minutes = min;
}
void time::setSeconds(int sec)
{
seconds = sec;
}
bool time::equals(time t)
{
if (hours == t.hours && minutes == t.minutes && seconds == t.seconds)
return true;
else return false;
}
void time::addTime(time t)
{
hours += t.hours;
minutes += t.minutes;
seconds += t.seconds;
}
void time::printTime()
{
cout << setfill('0') << setw(2) << hours
<< ":" << setfill('0') << setw(2) << minutes
<< ":" << setfill('0') << setw(2) << seconds;
}
void time::normalize()
{
seconds %= 60;
minutes = minutes + (seconds / 60);
hours = hours + (minutes / 60);
minutes = minutes % 60;
}
主要.cpp
#include "time.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
time time1;
int seconds1;
cout << "Enter the amount of seconds: ";
cin >> seconds1;
time time2(seconds1);
int hours2, minutes2, seconds2;
cout << "Enter the amount of hours: ";
cin >> hours2;
cout << "Enter the amount of muinutes: ";
cin >> minutes2;
cout << "Enter the amount of seconds: ";
cin >> seconds2;
time time3(hours2, minutes2, seconds2);
time1.equals(time2);
}
最佳答案
编译给定的代码我收到一大堆错误消息,最明显的是
warning: statement is a reference, not call, to function 'time'
time time1;
^
这导致 time1
被报告为未稍后声明,因为它不是。
标准库包含头文件 time.h 和函数 time.
为了确保程序包含正确的 time.h 并使用正确的 time
,我将 header 到 mytime.h 和 time
类到 mytime
。一旦消除了歧义的可能性,所有错误都会消失(一些关于未使用参数的警告仍然存在)。
我建议使用比 mytime
稍微平淡一些的名称,但只要名称具有描述性且不会发生冲突,您可以随意使用任何名称。
关于c++ - 为什么我的 C++ 代码出现 "undeclared identifier"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59095395/
关闭。这个问题需要debugging details .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 5年前关闭。 Improve this question 我在
我的代码即将完成,但它给了我这个错误:“curtemp:未声明的标识符”。和“prevtemp:未声明的标识符”和“缺少”;”在类型'之前(最后一个错误是在“float curtemp = curre
我有两个存储过程,第一个参数带有静态,并且运行良好但是当我使用动态参数时,它给了我一个错误未声明的变量:limitvar 1/程序 `DELIMITER $$ DROP PROCEDURE IF EX
我收到这个奇怪的错误: app_server.c: In function ‘wasFeedRead’: app_server.c:269:14: error: ‘tmp’ undeclared (f
我的编译器和我无法就声明达成一致.. game *copyGame(game *game) { game *copy = newGame(game->size); copy->size = g
我收到错误“currentUpdateMethod”未声明(首次在此函数中使用)。 this 引用的变量 currentUpdateMethod 是在头文件中声明的 SEL 类型的实例变量。因为构建到
我正在使用 linux c 中的克隆功能。 但是,当我尝试编译我的代码时遇到错误 CLONE_VM undeclared (first use in this function)。 我去谷歌寻找解决方
为什么在编译 GLSL 几何着色器时会出现此错误? ERROR: 0:15: 'gl_VerticesIn' : undeclared identifier 这是着色器: // makes wiref
当我尝试编译我的程序时,我在下面收到此错误,但我已经包含了包含“LittleMonkey”类声明的头文件。 1>------ Build started: Project: Estrellas, Co
在以python-2.7.6作为引用编译VC++ 2008项目时,出现以下错误 Python27/symtable.h(55): error C2065: 'mod_ty': Undeclared I
我试图在 Delphi XE2 中使用 randomrange 函数,但由于某种原因,它在尝试运行它时不断给我一个未声明的标识符错误,这是我的代码。 var Form3: TForm3; nu
来自 the web我知道 C 包含 NUL 关键字。 编译时出现错误 NUL undeclared first use in this function' 我的代码片段: for (;;) {
我正在使用 Eclipse BPEL Designer 和 Apache ODE。然后我尝试在 catalina.out 中部署我的流程,但收到错误 org.apache.ode.bpel.iapi.
我有以下代码: for(int iY=0;iY<(Height-YRemainder);iY=iY+16); { for(int iX=0;iX<
我尝试在程序中使用结构,但收到一堆错误消息,指出 time1、time2 和 hourDif 是未声明的标识符。我以为我按照你应该的方式声明了这些结构,所以我对问题是什么感到困惑。 代码如下: #in
我正在使用信号量创建生产者和消费者文件以进行同步。我创建了一个定义 sem_t 变量的结构。 sem_t 变量之一是互斥体。 Mutex 代表互斥。但是,当我编译代码时出现错误,提示“互斥体”未声明。
我遇到了这个问题: LOWORD 未声明 使用这段代码: case WM_COMMAND: { if (lParam==0) {
抱歉我的英语不好。 我的代码 #include int main(void) { CONDITION_VARIABLE cond; return 0; } 编译时出
我正在尝试为对象设置安全权限。这是代码: PROCESS_INFORMATION pi = {0}; STARTUPINFO si = {0}; si.cb = sizeof(
关于导致此编译时错误的原因的任何想法? 基本设置: main.cpp #include #include "GroupTheorizer.h" int main() { // ...
我是一名优秀的程序员,十分优秀!