上述代码有没有这种编译错误main.cc:7:21: error: ‘int time [1000][1000]’ redeclared as different kind of symbol int time[1000][1000]={0}; //每个距离节点花的总时间 ^ In file included from /usr/include/pthread.h:24, from /usr/include/c++/8/x86_64-redhat-linux/bits/gthr-default.h:35, from /usr/include/c++/8/x86_64-redhat-linux/bits/gthr.h:148, from /usr/include/c++/8/ext/atomicity.h:35, from /usr/include/c++/8/bits/ios_base.h:39, from /usr/include/c++/8/ios:42, from /usr/include/c++/8/ostream:38, from /usr/include/c++/8/iostream:39, from main.cc:1: /usr/include/time.h:75:15: note: previous declaration ‘time_t time(time_t*)’ extern time_t time (time_t *__timer) __THROW; ^~~~ main.cc: In function ‘int main()’: main.cc:20:11: warning: pointer to a function used in arithmetic [-Wpointer-arith] time[i][j] =0; ^ main.cc:20:14: warning: pointer ...
时间: 2024-01-12 07:04:55 浏览: 35
这个编译错误的原因是在你的代码中,定义了一个名为 `time` 的二维数组,而 C++ 标准库中也有一个名为 `time` 的函数,这导致了命名冲突。
为了解决这个问题,你可以考虑修改数组的名称,例如将 `time` 改为 `my_time` 或者其他不与已有函数或变量重名的名称。另外,编译器给出的警告信息可能是因为你在使用指针时出了一些问题,你需要仔细检查代码并修复这些问题。
相关问题
D:\CODEBLOCK\上课\哈哈哈哈\main.c|63|error: 'people_num' redeclared as different kind of symbol|
这个错误的原因是你在代码中重复定义了变量 `people_num`,但是定义的类型不同。例如,在代码中 `int people_num = 10;` 后面又定义了 `float people_num = 3.14;` 这样就会出现这个错误。
要解决这个问题,你需要检查代码中是否有重复定义同名变量的情况,并且确保它们定义的类型相同。可以考虑将重复定义的变量名修改为不同的名字,或者删除其中的一些定义。
在devC++的编译中,上面的代码中4 17 C:\Users\GPC\Desktop\未命名1.cpp [Error] 'int y1 [22]' redeclared as different kind of symbol 的错误,为什么?
这个错误是因为在代码中,变量`y1`被重复声明,而且被声明了不同类型的符号。具地说,第一次声明是作为全局变量数组,第二次声明是作为函数。
在C++中,不允许在同一个作用域中重复声明同名的变量。在你的代码中,`y1`首先作为全局变量数组被声明,然后在函数`main()`的参数列表中又被重新声明。
为了解决这个问题,你可以将函数参数的名字修改为其他不重复的名称,以避免与全局变量产生冲突。
例如,将参数`y1`改为`y1_param`,代码可能会像这样修改:
```cpp
int main()
{
//...
for(int i=1;i<=q;i++)
{
cin>>x1[i]>>y1_param[i]>>z1[i]>>x2[i]>>y2[i]>>z2[i];
}
//...
}
```
这样修改后,编译错误应该就会消失了。
希望能帮到你!如果还有其他问题,请随时提问。