bug——多重定义

bug------多重定义
你的问题是在C++代码中遇到了"reference to 'data' is ambiguous"的错误。这个错误通常发生在你尝试引用一个具有多重定义的变量时。

在你的代码中,你定义了一个全局变量data,同时,C++标准库中也有一个名为data的函数模板。当你在fib函数中使用data时,编译器无法确定你是想引用全局变量data还是std::data,因此它给出了一个模糊的错误。

为了解决这个问题,你可以改变全局变量data的名称,或者在调用时明确指定你要引用的是全局变量。

解决方案一:更改全局变量名称

cpp

#include <iostream>

using namespace std;

int mod=1e9+7;

int fibData10000; // 更改名称

int fib(int n){

if(n==1||n==2){fibDatan=1;return fibDatan;}

if(fibDatan!=0)return fibDatan;

fibDatan=fibDatan-1+fibDatan-2;

return fibDatan;

}

int main() {

int t;

cin>>t;

for(int i=0;i<t;i++){

int n;

cin>>n;

cout<<fibn;

}

return 0;

}

解决方案二:在调用时明确指定你要引用的是全局变量

cpp

#include <iostream>

using namespace std;

int mod=1e9+7;

int data10000;

int fib(int n){

if(n==1||n==2){::datan=1;return ::datan;} // 在前面加上 '::' 明确指定你要引用的是全局变量

if(::datan!=0)return ::datan;

::datan=::datan-1+::datan-2;

return ::datan;

}

int main() {

int t;

cin>>t;

for(int i=0;i<t;i++){

int n;

cin>>n;

cout<<fibn;

}

return 0;

}

相关推荐
callJJ17 天前
Volta + Claude Code 在 Windows 上的路径 Bug 复盘
windows·bug
xsc-xyc17 天前
记一次RK3568搭建NAS BUG:开发板插上 USB 移动硬盘没反应
bug
放风铃的兔子19 天前
我把 5 个 Python bug 投进 CubeSandbox 当沙盘 —— 从 envd 协议反编译到一键 RED→GREEN
bug·issue
zh_xuan19 天前
诡异Bug:输入框删除字符,却越删越多
android·bug
绘梨衣54720 天前
采集基类设计遇到的描述符bug
爬虫·python·bug
不吃鱼的羊20 天前
达芬奇工具Bug
bug
油炸自行车20 天前
【bug】Qt 6 Q_NAMESPACE 跨 DLL 链接错误:LNK2019 无法解析 staticMetaObject
数据库·c++·qt·bug·link2019·q_namespace_exp·namespaceexport
sxd200121 天前
Debian #1135514 bug引发的思考
网络·debian·bug
疏狂难除23 天前
X86-64 Assembly中printf 打印 float 和 double的bug的解决
bug·assembly
nashane24 天前
HarmonyOS 6学习:指南针“文图反向”Bug修复——从“北偏东”变“北偏西”的坐标系纠错
学习·华为·bug·harmonyos