最简单解决:error: reference to ‘***‘ is ambiguous

目录

错误

错误原因

解决办法


错误

6_38.cpp: In function 'void TowerofHanoi(int, int, int, int)':
6_38.cpp:17:9: error: reference to 'count' is ambiguous
         count++;
         ^
6_38.cpp:3:5: note: candidates are: int count
 int count = 0;
     ^

错误原因

我的文件定义了一个全局变量count,在自定义函数中修改该全局变量不成功,导致错误。

这个错误是因为 count 变量的名称与 <algorithm> 头文件中的 std::count 函数冲突了。

其他变量也是一样的道理,当出现这个错误时,修改一下全局变量的名称

解决办法

1.更改 count 变量的名称,选择一个不会与 <algorithm> 中的函数冲突的名称。

例如:

int totalCount=0;

2.在使用 count 变量时,明确指定作用域为全局作用域,以避免与 std::count 函数冲突。

在所有使用count变量的位置前面添加(::)一元作用域分辨运算符

将代码文件中的count修改为::count