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 fibData[10000]; // 更改名称 

 

int fib(int n){ 

  if(n==1||n==2){fibData[n]=1;return fibData[n];} 

  if(fibData[n]!=0)return fibData[n]; 

  fibData[n]=fibData[n-1]+fibData[n-2]; 

  return fibData[n]; 

 

int main() { 

  int t; 

  cin>>t; 

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

    int n; 

    cin>>n; 

    cout<<fib[n]; 

  } 

  return 0; 

}

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

cpp

#include <iostream> 

using namespace std; 

 

int mod=1e9+7; 

int data[10000]; 

 

int fib(int n){ 

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

  if(::data[n]!=0)return ::data[n]; 

  ::data[n]=::data[n-1]+::data[n-2]; 

  return ::data[n]; 

 

int main() { 

  int t; 

  cin>>t; 

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

    int n; 

    cin>>n; 

    cout<<fib[n]; 

  } 

  return 0; 

}

相关推荐

  1. bug——多重定义

    2024-07-11 03:14:03       23 阅读
  2. Bug优先级定义

    2024-07-11 03:14:03       32 阅读
  3. bug定位排查

    2024-07-11 03:14:03       27 阅读
  4. bug定位策略

    2024-07-11 03:14:03       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 03:14:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 03:14:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 03:14:03       58 阅读
  4. Python语言-面向对象

    2024-07-11 03:14:03       69 阅读

热门阅读

  1. Tkinter 部件使用教程

    2024-07-11 03:14:03       20 阅读
  2. ASPICE评估是汽车软件质量的可靠保障

    2024-07-11 03:14:03       21 阅读
  3. AI绘画好学吗?解锁创意无限的艺术新纪元

    2024-07-11 03:14:03       24 阅读
  4. P1255 数楼梯【递推+大数】

    2024-07-11 03:14:03       20 阅读
  5. 中断相关知识

    2024-07-11 03:14:03       21 阅读
  6. 春风得意特斯拉(六)

    2024-07-11 03:14:03       22 阅读
  7. C语言10 函数

    2024-07-11 03:14:03       21 阅读
  8. 在Qt中使用C++编程与传统C++编程的区别

    2024-07-11 03:14:03       17 阅读
  9. 【Android】【多屏】多屏异显异触调试技巧总结

    2024-07-11 03:14:03       23 阅读
  10. pjsip环境搭建、编译源码生成.lib库

    2024-07-11 03:14:03       23 阅读