gpt4 book ai didi

c++ - "explicit qualification in declaration"错误信息是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 21:35:16 25 4
gpt4 key购买 nike

battleutils.cpp:1037: error: explicit qualification in declaration of 'int32 battleutils::AbilityBenediction(CBattleEntity*, CBattleEntity*)'

这个错误到底是什么意思?

这里的第一行是1037(在battleutils.cpp中):

int32 battleutils::AbilityBenediction(CBattleEntity* PCaster, CBattleEntity* PTarget)
{
....
return blah;
}

在头文件下:

namespace battleutils
{

这是:

    int32   AbilityBenediction(CBattleEntity* PCaster, CBattleEntity* PTarget);

.cpp 文件正确包含头文件。

最佳答案

tl;dr:从函数名之前删除命名空间。

我遇到了同样的问题。我有一些使用 MS Visual Studio 编译的源代码,但在 Linux 中使用 g++ 它给了我:

... error: explicit qualification in declaration of '...

当实现已经在 namespace foospace {...} 内并且实现再次提供命名空间时,似乎会发生此错误 int foospace::barfunction(int blah){return 17;}.

基本上,如果实现(.cpp 文件中的代码)已经在 namespace foospace {...} 中,则从函数定义中删除 foospace:: .

关于c++ - "explicit qualification in declaration"错误信息是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com