【发布时间】:2021-07-20 11:44:39
【问题描述】:
我正在研究一个相应地重写时间结构值的函数(如果分钟为 128,它将更改为 2 小时 8 分钟)
现在不要太在意实际功能,我的问题似乎出在声明/参数/结构本身。
错误:
- 错误(活动)E0070 不允许不完整类型
- 错误(活动)E0266“时间”不明确
- 错误(活动)E0065 预期为 ';'
我做错了什么?
谢谢。
#include<iostream>
#include<iomanip>
//#include<math.h>
//void canonify(time&);
using namespace std;
//
typedef struct time
{
int h, min, sec;
};
//
const int full = 60;
//
void canonify(time& pre) // eror1 and eror2
{ // eror3
pre.min += pre.sec / full;
pre.h += pre.min/ full;
pre.sec %= full;
pre.min %= full;
}
void main()
{
time a;
a.h = 3;
a.min = 128;
a.sec = 70;
canonify(a);
cout << a.h <<":"<< a.min <<":"<< a.sec << endl;
}
【问题讨论】:
-
在我看来逻辑也是错误的:而不是“second = minutefull - pre.sec;”,应该是“second = pre.sec - minute我>满了;"或者只是“秒 = pre.sec % full;”
-
"
typedef struct" 在 C++ 中毫无意义。摆脱它。您使用的是哪本 C++ 教科书,它提供了错误的代码示例?这是一本糟糕的教科书,你应该换一本。 -
void main已被弃用很长时间,请使用int main()并将可接受的值返回给环境 (return 0;)。
标签: c++ visual-c++