您的位置:首页 > 其它

编译错误之error C3861: “xxxx”: 找不到标识符

2017-12-22 14:11 1496 查看
我的编译错误是如下:



这个时候,我们一般往这几种情况去考虑。

第一种情况

我们看看是否包含sbc2dbc的文件是否包含进来。我们一查果然,包含sbc2dbc函数的sbcdbc.hpp文件并没有加进来!

于是我们想办法找到sbcdbc.hpp,并把它include进来。

在开头写上 include "sbcdbc.hpp"  (假设sbcdbc.hpp与当前文件在一个目录下,这不是重点)

我们兴高采烈的再次编译。

如果已经解决了的话,那么恭喜你,哈哈,如果还没有解决,看下面。

还是出现相同的错误。此时,我们想,不应该呀,我们已经包含进相应文件了。为什么编译器还是不认识这个函数。

第二种情况

我们去查命名空间。是否包含sbc2dbc的源文件中的命名空间,我没有using进来,导致编译器不认识。

于是我查看了sbcdbc.hpp文件。

发现了该文件中,有如下定义:

[cpp] view
plain copy

namespace ltp {  

namespace strutils {  

namespace chartypes {  

于是我找到问题所在了,就是命名空间的问题。在该文件中,加入:

using strutils::chartypes::sbc2dbc;即可

于是就解决了sbc2dbc函数找不到标识符的问题了。

第三种情况

如果上面俩种情况都解决了,还出现这种问题,可以看看是不是string这些库没有加入。因为有些IDE编译器能够给你帮你自动找到string库,但是有些IDE不会,那么有可能是这些STL库没有引入进行。

大概是上面三种情况能够导致这些问题发生。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐