g++编译报错原因分析“was not declared in this scope"-程序员宅基地

技术标签: 调试  

在编译程序的时候,提示:“was not declared in this scope"。
经过分析后发现原因如下:
1.变量、函数、或者类未声明或者定义。这是最简单的情况~却是我经常犯的错误(基本也是这几个原因中可能性最大的)


另外,网上有人指出以下原因也会导致该提示错误:

2.头文件相互#include时,导致了依赖关系错误。比如,头文件形成了一个环形依赖,

/***file a ****/
#ifndef FILE_A_
#define FILE_A_
#include <file b>
#endif 


/****file b ***/
#ifndef FILE_B_
#define FILE_B_
#include <file a>
#endif 

如果在file b中用到了file a中的变量、函数、类,那么由于#ifndef和#define的作用,file b中的#include <file a>语句执行时无法执行file a中的#include <file b>造成错误。


3.头文件起名字的时候不小心和库中的头文件重名了,而在程序中又用了这个库的这个头文件。
这样, 就造成宏重名了,一定有一个头文件因为 #ifndef失去了效果。别的文件自然找不到这个头文件中的声明,就提示 was not decleared in this scope了


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/oguro/article/details/52693754

智能推荐

使用HTML制作静态网站 中国传统文化 丝绸之路 (学生网页设计作业源码)_丝绸之路网页设计-程序员宅基地

文章浏览阅读925次。传统春节网页设计、圣诞节节日发展、中秋、端午传统节日习俗庆祝、地区特色,网站模板 、等网站的设计与制作。️ 大学生传统节日网页作业成品采用DIV CSS布局制作,主要内容包括等内容,作品共多个页面,学生HTML静态网页基础水平制作,页面排版干净简洁。网页技术方面应用包括网页背景颜色、字号字体设置、超链接、图文页面、菜单栏、顶部大图等网页基础知识点 一套优质的网页设计应该包含 (具体可根据个人要求而定)网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网..._丝绸之路网页设计

Python_基础_(模块,time,random,os,sys,json,shelve,xml,序列化反序列化)-程序员宅基地

文章浏览阅读98次。一,Import的基本用法import1.执行对应的文件2.引入变量名3.当一个文件被import,索贝import中的代码会被执行一遍,例如当 import cal ##cla中有inport("xxx"),则会输出## Import引用方法# cal.py文件中def add(x,y) return x + y# test.py文件中..._如何查看shelve,os,sys,time版本号

API设计原则 - Qt官网的设计实践总结_qt的设计准则和最佳实践-程序员宅基地

文章浏览阅读502次,点赞2次,收藏3次。原文链接:API Design Principles - Qt Wiki基于Gary的影响力上 Gary Gao 的译文稿:C++的API设计指导译文发在酷壳 - CoolShell:API设计原则, 2017-07-25API设计原则 - Qt官网的设计实践总结???? 译序Qt的设计水准在业界很有口碑,一致、易于掌握和强大的API是Qt最著名的优点之一。此文既是Qt官网上的API设计指导准则,也是Qt在API设计上的实践总结。虽然Qt用的是C++,但其中设计原则和思考是具有普适性的(如果你对C_qt的设计准则和最佳实践

清华大学计算机科学陈莉,Institute of Computer Graphics and Computer-Aided Design | Li Chen(陈莉)...-程序员宅基地

文章浏览阅读422次。PublicationsLi Chen, Issei Fujsihiro, and Kengo Nakajima, "Optimizing Parallel Performance of Unstructured Volume Rendering for the Earth Simulator", Parallel Computing, Vol. 29, No. 3, 355-371, 2003...._li chen发表文章

Postman教程——发送第一个请求_使用postman发送第一个请求-程序员宅基地

文章浏览阅读1k次。系列文章首发平台为果冻想个人博客。果冻想,是一个原创技术文章分享网站。在这里果冻会分享他的技术心得,技术得失,技术人生。我在果冻想等待你,也希望你能和我分享你的技术得与失,期待。前言过年在家,闲来无事,正好我们小组年前一直都在使用Postman这个工具,很多新来的小伙伴很多时候都不能正确的使用Postman这个工具,或者说不能高效率的使用Postman这个工具。为了普及一下..._使用postman发送第一个请求

shell脚本中echo显示内容带颜色_怎么用shell脚本改变文件里面内容的颜色-程序员宅基地

文章浏览阅读373次。外壳脚本中的回波显示内容带颜色显示,回波显示带颜色,需要使用参数-e 格式如下:echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如:echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色,36的位置是代表字的颜色 注:   1,字背景颜色和文字颜色之间是英文的“”   2,文字颜色..._怎么用shell脚本改变文件里面内容的颜色

随便推点

Tomcat 5.5-Manager App HOW-TO(翻译了部份,努力中...)-程序员宅基地

文章浏览阅读59次。偶也是学习,不过,觉得每次都是读英文,麻烦,就希望把它翻译成中文,为自己,也为其它想学习的朋友,呵呵.不过,由于内容比较多,可能翻译的时间要多一点,如果有兴趣合作的朋友,可以回复BLOG,留言您想翻译那一段.让我们一起完成该内容.不过,为了增加文档的可阅读性,把阅读当成一种享受,请在翻译的时候遵守以下几点:1).翻译的字体一律用绿色.保证阅读不那么伤眼睛.2).重点标题用红色标明,重点内容用蓝色标..._invalid context path yy was specified

Android的IPC机制 —— BroadcastReceiver的使用_broadcastreceiver 可以创建单例么-程序员宅基地

文章浏览阅读340次。综述  在Android的四大组件中除了ContentProvider能够用于进程间的通信外,还有一个也能够用于进程间的通信,那就是BroadcastReceiver。BroadcastReceiver翻译成中文为广播接收器,既然作为广播接收器,那么必然就有Broadcast。在Android中,Broadcast..._broadcastreceiver 可以创建单例么

行内块级元素的并排问题_两个section平行排列-程序员宅基地

文章浏览阅读1.7k次。1. 在一个长度为400px的section中,存在两个分别为200px的div, 如何并排存放:如图所示:解答:设置最外层的 盒子 word-spacing: -5px, 两个div盒子 inline-box box-sizing: border-box然后:..._两个section平行排列

几种TCP连接中出现RST的情况_rst端口-程序员宅基地

文章浏览阅读3.1k次。目录[-]1 端口未打开2 请求超时3 提前关闭4 在一个已关闭的socket上收到数据总结参考文献:应该没有人会质疑,现在是一个网络时代了。应该不少程序员在编程中需要考虑多机、局域网、广域网的各种问题。所以网络知识也是避免不了学习的。而且笔者一直觉得TCP/IP网络知识在一个程序员知识体系中必需占有一席之地的。在TCP协议中RST表示复位,_rst端口

Vue开发笔记-- 配置resolve映射路径_vue路径映射-程序员宅基地

文章浏览阅读3k次。 在Vue-Cli项目开发中,我们常会引用到文件资源,如果文件路径很长,使用起来很不方便,且代码看着不美观。例如:引用图片时,每次都要在图片路径前面加" ../../../assets/images ”字符串,如果我们不想使用这些字符串就需要配置webpack的resolve了。 打开webpack配置文件:在bulid文件夹下 找到resolve属性。..._vue路径映射

lostash Timeout executing grok 问题排查-程序员宅基地

文章浏览阅读2.3k次。Timeout executing grok 问题排查使用logstash的时候发现会有这个报错,导致logstash不稳定,input端是kafka,就会导致kafka的反复rebalance,一开始排查思路有问题,而且网上的资料可能都是其中的一个原因,所以导致我的排查思路偏了。1. 问题背景我有一组logstash 从kafka中消费日志数据,解析后丢到ES当中,提供一些日志的检索能力。大概的配置是这样的。1. 基础配置logstash版本 7.5.0jvmjava -ver_timeout executing

推荐文章

热门文章

相关标签