精华内容
下载资源
问答
  • c语言iostream头文件报错
    2021-12-08 11:18:07

    参照此文,我们

    在建立动态的时候,在.h文件中添加的了一个类的头文件,如

    #include “mylib.h”

    头文件中定义了一个结构体;struct STU 

    在.cpp文件中,我们定义了函数

    #include "mylib.h"
    #include <iostream.h>
    
    struct STU foo()
    {
    }

    发现,当,将头文件#include "mylib.h"放在上面的位置,编译会报错,但是放在函数上边编译则没有问题,原因待查???

    #include <iostream.h>
    
    #include "mylib.h"
    struct STU foo()
    {
    }
    更多相关内容
  • 用include<iostream.h>报错问题

    万次阅读 2021-01-05 20:41:36
    问题补充: ...2、新的C++标准摒弃了.h形式的头文件,所以在vs2005里面是没有iostream.h的头文件的。 3、在早期的vs版本,比如VC6.0,用的还是老版本的C++标准库,例如iostream.h,并且当时标准库也没有引入.

    在这里插入图片描述

    问题补充:
    已经将#include <iostream.h>改为 #include using namespace std; //必须分两行

    明白了以下几点,问题就搞清楚了:
    1、要区分标准C的库和标准C++的库。iostream是C++的库,stdio.h是标准C的库。
    2、新的C++标准摒弃了.h形式的头文件,所以在vs2005里面是没有iostream.h的头文件的。
    3、在早期的vs版本,比如VC6.0,用的还是老版本的C++标准库,例如iostream.h,并且当时标准库也没有引入名字空间。因此直接#include <iostream.h>是可以的。但到了vs2005,使用了新的C++标准库,只能用#include 。
    4、名字空间里可以包含很多东西,比如函数名、标识符、数据类型等等。新的C++标准把标准库中的名字都放入了std名字空间,因此在#include 之后,还必须使用标准库的名字空间std,才能使用标准库里的类和函数,也就是必须 using namespace std;
    5、对于C的标准库,例如,stdio.h,没有名字空间的概念,因此直接包含后即可使用。
    6、新的C++标准库为了统一以前的C标准库,将原来c的标准库也放入了std名字空间,并把原来的C标准库去掉了.h后缀,前面加上字母“c”,例如stdio.h就变成了cstdio,使用时为#include ,其内容和#include <stdio.h>相同,但是要额外使用名字空间std,也就是using namespace std;
    7、因此,对于新的C++标准库,没有了.h形式的头文件,例如iostream,在包含了头文件以后,必须使用std名字空间才能使用库中的内容。对于C标准库,有两种使用方法,一种是用老的.h形式,例如stdio.h直接包含就可以了;另一种就是用C++的统一形式,例如cstdio,和C++标准库一样,包含了以后还要加上using namespace std;才能使用。 建议采用后面统一的形式,比如你要同时使用C和C++的库,可以这样写: #include #include using namespace std;

    展开全文
  • 记录一个让笔者有点无语的语法错误 debug 过程...1.晚上使用 VScode 写代码,编译时出现如下报错信息 "error: ‘ostream’ has not been declared"....产生上述报错时,源文件中包含了头文件 iostream.笔者第一反...

    记录一个让笔者有点无语的语法错误 debug 过程...

    1.晚上使用 VScode 写代码,编译时出现如下报错信息 "error: ‘ostream’ has not been declared".编译无法通过.

    error: ‘ostream’ has not been declared //ostream 未声明

    2.产生上述报错时,源文件中包含了头文件 iostream.笔者第一反应,是和 C 语言下出现类似报错时一样,认为可能没有包含对应声明了 ostream 类型的头文件.比如 C 语言中,如果没有包含头文件 stdio.h,则在源文件中使用 printf 同样会产生 'printf' has not been declared 的报错.所以笔者怀疑头文件 iostream 中没有包含对 ostream 的声明( 虽然这个怀疑笔者也觉得有点奇怪... ).

    3.使用 VScode 进行代码编辑时,可以通过选中某个头文件,右键 -> 转至定义( go to definition )/查看定义( peek definition ) 查看头文件的内容.所以笔者直接就想看看头文件 iostream 中是否包含所想要的 ostream 声明.于是进入头文件 iostream,发现该头文件开始位置包含了头文件 ostream...内心 os : 这个头文件 ostream 怎么看也应该包含有类型 ostream 的声明啊...要不为啥叫这名...

    4.觉得头文件 ostream 中应该包含有 ostream 的类型声明,所以包含头文件 iostream => 包含头文件 ostream => 包含有 ostream 类型声明,那么使用 ostream 应该是可以的.所以再编译一次程序.结果继续,"error: ‘ostream’ has not been declared".有点抓狂.

    5.于是怀疑,难道头文件 ostream 中都不包含有 ostream 的类型声明???所以首先,打开了 ostream 的内容,发现其中主要定义的是一个叫做 basic_ostream 的类模版,直接搜索 ostream 关键词不好定位 ostream.于是一怒之下,打开了 cplusplus-ostream ,查看头文件 ostream 的介绍,发现其中确实是有类 ostream 的.

    继续进入查看类 ostream 的说明( class std::ostream ),发现 ostream 的定义如下,所以直接在头文件 ostream 中搜索该定义,结果查找不到...内心 os : 这是个什么鬼...页面上说有,头文件里面没有?

    typedef basic_ostream ostream; //ostream 的定义

    6. ostream 的声明到底在哪里?笔者觉得不能放弃.于是想到,输出流 cout 就是 ostream 类型的,其在头文件 iostream 中有声明如下,其中用到了类型 ostream.

    extern ostream cout; //头文件 iostream 中对 cout 的声明

    直接选中 ostream,然后右键 -> 转到定义,跳转到 ostream 的定义,发现其位于头文件 iosfwd 中,且形式与前面页面介绍的 ostream 定义相同.根据头文件 isofwd 的介绍,该头文件包含的是一些与 io 有关的前向声明.

    此时笔者心中对于 ostream 出现的位置还是有点诧异,为啥会出现在这里呢?这跟 cplusplus 网站上介绍的不太一样啊...同时,笔者在/查看头文件定义的过程中如 iostream 时,发现 VScode 会报告系统上存在两个对应头文件,比如笔者 Ubuntu 环境下,系统头文件位置在 /usr/include/c++/ 目录下,而其中包含有 5.5.0/7.5.0 的头文件版本.此时笔者甚至开始怀疑,难道是因为头文件版本的改变使得 ostream 定义的位置发生了改变?脑洞逐渐变大...

    7.既然找到了 ostream 的声明,那么笔者最直接的思路,就是在源文件中直接包含头文件 iosfwd,再进行编译.结果仍然"error: ‘ostream’ has not been declared".这就很让人郁闷了???到底是因为啥?

    8.于是笔者最后,做了一个本来之前就应该做的事情--google.输入关键词 error: ‘ostream’ has not been declared.返回的搜索条目中第一条是 stackoverflow 的一个问题 istream and ostream problem - C++,其第一个答案说,请确保在使用 ostream 前加入对应的命名空间的声明.........然后笔者就听话的在源文件中加入了命名空间声明,然后就编译通过了..........

    using std::ostream; //声明

    9.那么为什么只需要包含头文件 iostream 就包含了对类型 ostream 的声明呢,而且貌似 ostream 文件中还不含有 ostream 的声明?其实原因是,头文件 iostream 包含了头文件 ostream => 头文件 ostream 包含了头文件 ios => 头文件 ios 包含了头文件 iosfwd => 头文件 iosfwd 就包含了 ostream 的声明...所以就齐活了...istream 的情况与 ostream 类似.

    emmmmm,所以说,有时候遇到这种编译问题,思路是需要活跃一点,但有时候, google 一下可能就直接解决了...

    展开全文
  • 如题,有人给我一份.c的文件让我编译。 里面用到了 #include 我用的vs2019,编译就显示无法打开源文件iostream.h 但改成iostream以后问题就更大了。 有什么办法解决吗?
  • linux中C++编译提示找不到iostream文件

    千次阅读 2021-05-10 02:22:28
    因为gcc编译c语言的话没得问题,但是c++的话最好指定编译的语言。 用户:飞雪无痕cz 2019年08月09日 编译时候确定用的是G++么? 用户:yiquzhongyou 2019年07月30日 恩,进入/usr/include/c++ 里找看,进入下一个...

    用户提问

    问题如题,我到/usr/include/中找也没找到,C代码编译正常。这是怎么回事啊,是不是有什么东西没有安装????在centos跟ubuntu上面均是同样的问题。。编译器是g++/gcc.

    要安装什么东西?怎么装 大侠们,帮帮忙啊 解决问题加分

    又截了一张更加详细的图,程序是最简单的

    #include

    using namespace std;

    int main()

    {

    cout << "Hello world!" << endl;

    return 0;

    }

    推荐答案

    1、将boost_1_47_0.zip解压缩,放置于D盘。

    2、 开始 -> 所有程序 -> Microsoft Visual Studio 2008 -> Visual Studio Tools -> Visual Studio 2008 Command Prompt。

    3、在命令行(可以使用鼠标右键复制粘贴的)中输入: cd D:\boost_1_47_0 ,此时切换到D:\boost_1_47_0这个目录下面。

    4、在命令行中输入:bootstrap.bat,等待一两分钟就可以,执行完后,可以看见文件夹下生成了bjam.exe。

    5、进入D盘,打开D:\boost_1_47_0\tools\build\v2 下面的user-config.jam(用记事本打开),找到以下内容。

    6、按键盘Ctrl+F5,选择“Yes”,如果编译无错误,并且显示“Hello world, I'm a thread!”,说明已经成功的安装了boos。

    辅助答案

    用户:超凡网络传媒

    2019年09月14日

    这个问题出现的原因有很多,简单说明,可参考。

    1、源码书写有问题

    #include  //用<>表示是C++标准库中的头文件

    using namespace std; //使用std名字空间

    2、g++版本过老,自己可以去gun的官网下载最新的安装包进行安装,不过一般都是自带的,可以自行升级。

    3、环境变量设置有问题

    设置C++的include目录环境变量,对所有用户有效在/etc/profile增加以下内容。只对当前用户有效在Home目录下的

    .bashrc或.bash_profile里增加下面的内容:

    (注意:等号前面不要加空格,否则可能出现 command not found)

    #g++找到头文件的路径

    CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/libxml2:/MyLib

    export CPLUS_INCLUDE_PATH

    用户:953799106

    2019年09月09日

    先确定代码没有问题以后,用 gcc -o overname(编译文件) score(源文件) 编译,如果出现iostream文件是找不到的,更改以上命令为 g++ -o overname(编译文件) score(源文件)。因为gcc编译c语言的话没得问题,但是c++的话最好指定编译的语言。

    用户:飞雪无痕cz

    2019年08月09日

    编译时候确定用的是G++么?

    用户:yiquzhongyou

    2019年07月30日

    恩,进入/usr/include/c++ 里找看,进入下一个文件夹,是iostream.h还是iostream,可以使用命令ls |grep 'iostream*'

    展开全文
  • C语言头文件

    2018-08-01 19:21:59
    头文件(Header Files),后缀为 .h,只写了库函数和变量的声明 静态库文件(Static Library ),在Windows下后缀为 .lib,在Linux下后缀为 .a。这个文件中真正包含了某些库函数的实现(即目标代码)。但是这个文件不是...
  • #include <iostream> #include 编译报错 1> LogForm.cpp 1>c:\program files\windows kits\8.0\include\um\servprov.h(92): error C2872: “IServiceProvider”: 不明确的符号 1> 可能是“c:\program files\...
  • pod库报C++头文件file not found问题

    千次阅读 2021-12-25 20:42:25
    项目中引入引入MLNKV后,编译报错。 以下为修改了MLNKV的podfile的结果,podfile中打开了use_frameworks! 这是个找不到c++头文件问题,经过和项目对比发现只有在podfile中使用use_frameworks!会引起此现象,Google...
  • iostream.h与iostream的区别: iostream.h里面定义的所有类以及对象都是在全局空间里,所以可以直接用cout 。但在iostream里面,它所定义的东西都在名字空间std里面,所以必须加上 using namespace std;才能使用...
  • 项目场景:vscode要写c++时iostream头文件找不到 (我还找不见了两次,记录一下) 问题描述 c++找不到头文件,想编程的心瞬间无了。(首先我是已经下了MinGW-w64了还出现问题,也调过了C/C++的UI还不行的大冤种.....
  •   问题2:VS2022 无法打开 源 文件:“iostream.h”   原因:iostream.h报错,原因是这个头文件是VC6.0带的文件,在VS2022里面没有这个头文件,自然就不能直接include。 三、命名空间namespace   和C语言相同...
  • C引入报错

    2021-07-28 22:36:19
    C代码中执行#include <'iostream'>报错,提示找不到此头文件 **这个主要是因为‘iostream’是C++的头文件C语言对应的头文件为‘stdio.h’,改为此头文件即可修复此报错**
  • Dev-C++头文件小Bug

    2021-05-27 23:05:32
    2、C语言头文件 在Dev-C++中,你竟然可以使用C语言头文件(惊不惊喜~意不意外~) 如下: #include 3、iostream竟然包含了cstdio 在Dev-C++中,我偶然发现,打开了iostream,你竟然可以使用scanf和printf(呵呵~) ...
  • c++:头文件包含问题

    2017-06-16 14:25:47
    #include <iostream>在Test.h中包含 和在Test.cpp中包含有什么区别? 1、在cpp文件中包含.h文件,要么你要用到这个头文件中的函数或者类,要么就是实现这个头文件; 2、.h ---就是为了放一堆声明所产生的东西。 ...
  • cmath iostream报错

    2017-07-25 14:54:00
    出错原因 c++ 项目中有其他c的...math.h是C语言头文件。其实在C++中用math.h也是可以的,C++是兼容C的。不过推荐的是使用#include <cmath>不过这样必须声明在std命名空间:using namespace std;其中的函数和...
  • 报错:没有iostream头文件。 然后我就在CSDN上搜为什么。 看到了iostream和iostream.h头文件的区别。 想到了我保存这个程序为.c文件。那么就不能用C++的。 然后我就在.c这个文件里面使用了iostream.h,但是任然报错...
  • C++1.1 #include<iostream

    万次阅读 多人点赞 2021-01-23 12:07:58
    iostream> //头文件,给予使用部分功能的权限 using namespace std; //为了解决命名冲突的问题而引入的概念 int main() //main函数,每一个C++程序都需要有一个main函数 { cout<<"Hello World"<&...
  • 彻底觉得vscode找不到头文件的问题(fatal error: xxx.h: No such file or directory)
  • 【贪玩巴斯】带你学:C++ tips ——知识点:C++与C语言头文件的辨析,即何时加.h 何时最前加c? 来看这一篇就够了! 2022年1月7日一、解析如下: 一、解析如下: C++头文件——何时要加.h,何时不加.h,何时在前面加...
  • c++标准库iostream

    千次阅读 2021-11-14 16:19:24
    std的声明在iostream头文件中,与众不同的是这个头文件的包含不需要.h,直接#include头文件即可,既然是命名空间,那么我们要使用std命名空间的元素,如cout就需要std::cout。由于对该头文件内的东西频繁使用,所以...
  • c++中ifstream及ofstream超详细说明

    千次阅读 2021-05-26 01:58:00
    前文说过,ifstream是继承于istream,ofstream是继承于ostream,fstream是继承于iostream类,而他们使用的缓冲区类是filebuf。关于这些类之间的关系,有兴趣可以去查看我之前的文章:c++标准输入输出流关系梳理1. ...
  • C语言开发中常见报错的解决方案 整理来源于网络,侵权请通知删除。*禁止转载 ---- fatal error C1003: error count exceeds number; stopping compilation 中文对照:(编译错误)错误太多,停止编译 解决方案:...
  • <code># 这是报错信息 Header.h:7:19: error: expected a type Header.h:7:19: error: expected unqualified-id Header.h:7:19: error: expected '}' ostream:42:1: note: to match this '{'</code>...
  • nullptr(c++关键字)也就是我在图1-1中使用紫色箭头标中的提示,于是我又添加了一个头文件: #include 这个头文件包含了C++标准的输入输出,也就是编译器把头文件iostream中的所有内容全部复制到#include中然后再...
  • C语言(七)头文件

    2019-09-22 15:14:23
    C/C++头文件一览 C、传统 C++#include <assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <fstream.h>....
  • 近期配置一些项目时,莫名其妙的连本身iostream头文件都无法打开了 最后尝试重置VS C++,并成功解决了该问题。 我的版本是vs2013,方式如下 Tools -> Import and Export -> Reset all -> .. 工具 → 导入和...
  • C/C++异常、报错

    2019-04-09 09:54:15
    strcpy()定义于string.h头文件中,所以当使用strcpy()时,必须加上#include <string.h>才行。 #include <string.h> //对应函数strcpy 编译会报错:让使用strcpy_s,但是修改为strcpy_s后又报错:要求...
  • c语言与c++的区别

    千次阅读 2021-11-13 15:11:08
    文章目录c语言与c++的区别前言一、头文件与命名空间的不同1、创建源文件2、包含头文件的方式3、命名空间的引入二、基本输入输出1、包含C++基本输入输出头文件2、一般情况包含命名空间3、输入输出2.读入数据三、新的...
  • C++:iostream.h: No such file or directory

    千次阅读 2020-10-29 10:48:26
    关于:“iostream” 与 <...*iostream.h-非标准库: iostream.h头文件不需要声明空间直接可以使用cin和cout的关键词 iostream-标准库: iostream的方法则需要空间指定以划分,所以需要声明指定其空间。* 摘: “ --

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,381
精华内容 1,752
热门标签
关键字:

c语言iostream头文件报错