2017-06-18 352 views
0

我正在学习C++书,并试图测试简单的编码循环游戏战斗。 while循环内的开关。错误:声明无法解析重载函数的地址C++

damage = greatsword[0] + player[1] - enemy[2]; endl; 

error: statement cannot resolve address of overloaded function|

我在4个不同的代码行此错误,而每一个具有“损坏”,所以我假定其一些问题,这一点。在将其更改为攻击值之前,我已将损坏声明为int并将其设置为0。如果需要,我可以提供更多的代码。我也尝试将名称从x更改为dmg,以查看这是否是问题

+1

请张贴整个代码不仅如此行。 另外,为什么你有一个endl;在那条线的尽头? –

+0

不要编辑问题说它已解决。 **接受**答案。 – StoryTeller

回答

0

您有一个尾随endl;,您可能并不打算包含它。 std::endl是打印到输出流时使用的函数;通常你会看到cout << ... << endl;,但不应该使用它。

+0

感谢您的回答和解释。修复它,我想我可以使用endl更多更多 –

0

std::endl,用作流操纵器,实际上是一个函数。

你可能做这个

void f(); // don't need to define f() 

int main() 
{ 
     f; // should be f() to call the function 
} 

实现类似或相关的错误消息,以便删除声明endl;

+0

谢谢修复它,也感谢您的解释。 –