全局变量的命名count问题(以递归实现的斐波那契数列的调用次数为例)

本文探讨了在C++编程中如何避免全局变量与命名空间std中的成员命名冲突,通过一个具体的斐波那契数列计算实例,展示了将全局变量从'count'更改为'sum'以解决错误C2872的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误 1 error C2872: “count”: 不明确的符号
错误 2 error C2872: “count”: 不明确的符号
全局变量命名方式本身没错,错在使用了与命名空间重复的命名std::count,换成sum就完全没问题了。

#include "pch.h"
#include <iostream>
using namespace std;
//int count = 0;//定义一个全局变量 在下一次调用时能够保留上次调用过程中的数值
不能将全局变量命名为count 否则在输出时会显示不明确的符号
std::count因为有一个名为count的命名空间 
int sum = 0;
long times_Fib(long n) 
{
	/*count++;*/
	sum++;
	if (n <= 1) 	
		return 1;	
	else
		return times_Fib(n - 1) + times_Fib(n - 2);
}
int main()
{
	long n;
	cout << "请输入一个正整数" << endl;
	cin >> n;
	times_Fib(n);
	cout << "输入为" << n << "时,斐波那契数列Fib调用次数为:" << sum;
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值