2 wyt734933289 wyt734933289 于 2015.05.25 11:58 提问

我的C程序VS2013报错,都不知道错哪了,请大神指教

图片说明
图片说明
hash函数名和数组next都定义了,都不知道哪错了

7个回答

nswcfd
nswcfd   2015.05.25 14:27
已采纳

感觉是标准库的某些内容重复了。
std::next是里的template,
std::hash是里的template。
都是c++ 11定义的。

wsh1992o
wsh1992o   Rxr 2015.05.25 14:47

自己重新定义一下名字,这几个名字已经在类库中存在了

caozhy
caozhy   Ds   Rxr 2015.05.25 12:04

你的定义重复了,如果你的代码没有重复定义它们,可能是和你包含的库文件冲突了,那么换个名字看看

wyt734933289
wyt734933289 这些头文件有重复定义hash和next的吗
2 年多之前 回复
wyt734933289
wyt734933289 #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<set> #include<iostream>
2 年多之前 回复
woshizjp
woshizjp   2015.05.25 13:45

hash和next重复定义了。
你可以尝试着加一些你自己的前缀,例如my_试试。

alwaysalex
alwaysalex   2015.05.25 15:54

hash我倒是不确定,不过之前用next定义数组进行其他操作时也会出现楼主的问题,建议更改出错的变量或者函数名

pbymw8iwm
pbymw8iwm   2015.05.25 16:27

应该是重复定义了这个函数或者结构体,有可能你在其他包含的文件中也生命了hash这样的函数或者结构体,只不过和你这里的定义类型不一样

oyljerry
oyljerry   Ds   Rxr 2015.05.25 12:35

这个错误提示是重复定义了,导致编译器不知道用哪个。你自定义的类型可以加个my什么的前缀

wyt734933289
wyt734933289 为什么会重复定义呢?难道是头文件里面有hash何next?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片