我刚开始写程序,就发现了一些我不明白的地方。我已经定义了一个名为“时间”的结构。当我尝试定义一个名为“time1”的结构变量时,它会发出一个错误:“expected an ';'”。但是当我删除头文件“iomanip”时,错误消失了!当我再次包含它时,错误又回来了。为什么会这样?
问问题
2852 次
2 回答
4
让我们试试这段代码:
#include <iomanip>
struct time
{
int a;
};
int main()
{
time t1;
}
这是错误,以及当我尝试编译它时我在 QtCreator 中收到的警告(我的编译器是 g++ 4.6.3)。编译器认为time
这里不是语句,而是函数名:
显然,<iomanip>
不知何故包含<time.h>
,并且time.h
有一个名为 time() 的函数。因此,基本上,只需将您的结构重命名为“myTime”或类似的名称。
于 2012-07-06T10:31:33.263 回答
0
如果您不想重命名结构的名称,则可以将其更改为:
#include <iomanip>
struct time
{
int a;
};
int main()
{
struct time t1;
}
于 2012-07-06T11:33:36.893 回答