-
2022-05-02 15:32:38
刚刚学完C++中的多态,但是之前学的知识很多地方不理解,打算用vs写个职工管理系统实践一下来巩固学到的知识,当我在写一个头文件时,发现即使是添加上了#include<string>和using namespace std;,当用到string时还是会报错“未定义标识符”,以下是我发现解决方案的过程:
1.在头文件中没必要加using namespace std;,因为这样会导致一个命名空间不被察觉的对一个源文件开放,所以最初我把头文件中的using namespace std删了,然后把每个string全部改成std::string,这样编译器就不报错了,但是有些麻烦。
2.后来我开始写.cpp文件,发现当我在.cpp文件中添加上using namespace std;后,即使把.h文件中的std::string改回string编译器也不会报错了!
所以解决方案为:
先不用管string未定义标识符这个报错,也不需要在头文件中加using namespace std,等到最终include该头文件的源文件中添加上using namespace std;后,头文件中的报错自然会消失。
更多相关内容 -
未定义标识符
2021-05-25 08:20:59源自:4-5 C++新特性以及输入输出演示未定义标识符代码:#include "iostream"#include "stdlib.h"#include "stdafx.h"using namespace std;int main(){cout << "请输入一个整数:";int x;cin >> x;cout ...源自:4-5 C++新特性以及输入输出演示
未定义标识符
代码:
#include "iostream"
#include "stdlib.h"
#include "stdafx.h"
using namespace std;
int main()
{
cout << "请输入一个整数:";
int x;
cin >> x;
cout << oct << x << endl;
cout << dec << x << endl;
cout << hex << x << endl;
cout << "请输入一个布尔值(0,1):";
bool y = false;
cin >> y;
cout << boolalpha << y << endl;
system("pause");
return 0;
}
报错:
1>e:\project\c++\test\test\test\test.cpp(13): error C2065: “cout”: 未声明的标识符
1>e:\project\c++\test\test\test\test.cpp(13): error C2065: “hex”: 未声明的标识符
1>e:\project\c++\test\test\test\test.cpp(13): error C2065: “endl”: 未声明的标识符
1>e:\project\c++\test\test\test\test.cpp(15): error C2065: “cout”: 未声明的标识符
1>e:\project\c++\test\test\test\test.cpp(17): error C2065: “cin”: 未声明的标识符
1>e:\project\c++\test\test\test\test.cpp(17): warning C4804: “>>”: 在操作中使用类型“bool”不安全
1>e:\project\c++\test\test\test\test.cpp(18): error C2065: “cout”: 未声明的标识符
1>e:\project\c++\test\test\test\test.cpp(18): error C2065: “boolalpha”: 未声明的标识符
1>e:\project\c++\test\test\test\test.cpp(18): error C2065: “endl”: 未声明的标识符
1>e:\project\c++\test\test\test\test.cpp(20): error C3861: “system”: 找不到标识符
刚开始求解答,谢谢。
提问者:qq_蒙昧_0
2018-04-03 09:23
-
visual studio中关于已添加图形库头文件 ,但仍显示未定义标识符“PIMAGE“,未定义标识符“newimage“,...
2022-05-13 14:23:08visual studio中关于已添加图形库头文件 ,但仍显示未定义标识符"PIMAGE",未定义标识符"newimage",未定义标识符"delimage"等问题。包括easyx图形库的安装和【EGE】图形库的安装教程一、首先检查一下图形库的安装是否安装好。
EasyX Graphics Library for C++
https://easyx.cn/download在easyx官网下载easys下载工具,点击安装即可。
二、加载EGE图形库
Easy Graphics Engine – EGE图形库主站 (xege.org)
https://xege.org/1、访问EGE官网进行下载
2、 下载完成后解压
3、将上述三个文件复制到安装vs的include文件夹下(路径如下)
4、打开lib文件夹,根据自己vs的版本选择一个文件夹打开(vs2022版本选择vs2019即可)
5、 分别将EGE工具包中x64和x86中的压缩包文件复制到安装VS的lib相应文件夹中
到此该问题被解决,实测visual studio 2022使用visual studio 2019版本文件也可成功。
- 安装教程 <https://xege.org/beginner-lesson-1.html>
-
未定义标识符"ostream" | 未定义标识符"cout
2020-05-09 16:51:58没怎么用过C++写过完整的项目,今天闲来无事,便创建个c++的工程玩玩,结果一个简单的打印输出就给卡住了,无法打开文件“iostream.h”,““cout” 未声明的标识符”,这是什么鬼。。。 首先第一个问题,无法打开...来源链接:https://blog.csdn.net/FussyCat/article/details/88309197
问题表现
没怎么用过C++写过完整的项目,今天闲来无事,便创建个c++的工程玩玩,结果一个简单的打印输出就给卡住了,无法打开文件“iostream.h”,““cout” 未声明的标识符”,这是什么鬼。。。
首先第一个问题,无法打开文件“iostream.h”。
找了下外部依赖文件,确实没有文件“iostream.h”,倒是有“iostream”,OK,去掉.h,再编译一遍。
结果,无法打开的问题消失了,但第二个问题还存在。找找资料看看iostream的用法,好吧,需要加 using namespace std; OK,编译通过,运行输出正常。
或者不加using namespace std;的话,可用此替代 std::cout << “I look so ugly that i couldn’t send pics to you.” << std::endl;#include "stdafx.h" #include <stdio.h> #include <Windows.h> #include <iostream> using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << “I look so ugly that i couldn’t send pics to you.” << endl;Sleep(10000); return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
iostream和iostream.h的区别
好吧,被这么折腾下,好奇为什么其他的引用都会有.h,怎么iostream却不需要。
找了一些资料,微软官网只有iostream库,没有iostream.h,以下是民间的说法。(引用原文)
C++的标准类库被修订了两次,有两个标准C92和C99,这两个库现在都在并行使用,用 .h 包含的是c92(旧文件) ,不带 .h 的是c99的头文件(新标准),对于普通用户来说这两者没有什么区别,区别是在内部函数的具体实现上。旧的C++头文件是官方明确反对使用的,但旧的C头文件则没有(以保持对C的兼容性)。据说从 Visual C++ .NET 2003 开始,移除了旧的 iostream 库。(我说怎么在微软的官网怎么都找不到iostream.h。。)</div>
-
未定义标识符怎么解决
2021-11-02 20:10:33used of undeclared identifier 'if 是出现什么问题了,怎么解决呢 -
分文件,类外调用函数,问题是未定义标识符
2022-06-15 12:50:40未定义标识符\ 我在Manager.h内声明了下面的函数,但是会出现问题报错 ``` include include"Manager.h" include"Person.h" using namespace std; void menu()//菜单 { cout << "+====================... -
opencv c++未定义标识符咋解决啊
2022-04-26 11:39:53问题遇到的现象和发生背景 求出基础矩阵F,绘制外极线 问题相关代码,请勿粘贴截图 //画出外极线,对应点已经经过了RANSAC优化 void DrawEpiLines(const Mat & img_1, const Mat & img_2, vectorpoints1, vector... -
c++未定义标识符怎么办?
2021-05-24 09:31:33//这里老是提示top为“未定义标识符”怎么办? return false; //return (top==NULL)?true:false;这种写法也提示出错 }; char LinkedStack::pop() { char x; if(isEmpty()==true){ cout空链表,没有出栈的元素了哦,... -
C++使用function adapter的问题——未定义标识符
2020-08-04 22:26:11``` vector<int> filter2(const vector<int> &vec,int val,less<int> &...而且我发现,在第一段代码中,先出现的bind2nd会提示未定义标识符——不管这个bind2nd出现在while表达式以内还是以外。 求大神解答!!!谢谢 -
【keil uVision4】在vscode中编辑时sbit类型“未定义标识符”
2022-03-01 15:11:12在vscode中编辑时sbit类型“未定义标识符” 基本上配置已经配好了,可以编译,但是想到后面代码量上来后可能会很麻烦,所以在这里问问大家有没有解决办法 -
VS 2022版怎么解决未定义标识符
2022-01-02 12:22:21 -
C++ 集合 vector 提示未定义标识符
2022-04-13 10:22:13如果有提示未定义标识符,需要添加using namespace std; 将这句添加到#include的下面一行 3、开始使用 添加元素:shuzu.push_back(1);//注意类型要匹配 访问:shuzu[n];//通过下标访问 ... -
C语言 未定义标识符malloc
2021-09-08 10:38:12未定义标识符malloc #include<malloc.h> -
【求助】vs2019 win32 未定义标识符
2020-11-19 18:28:53初学WinMain,跟着书敲代码。 编译环境:vs2019 重装过一遍win10 sdk,依然没有效果 网上搜索过解决方法 未解决 头文件...<p>MyRegisterClass和nitInstance 显示未定义标识符</p> -
未定义标识符“cvWaitKey
2022-04-10 16:32:42处理方法:在程序开头加上 using namespace cv; using namespace std; 然后将cvWaitKey() 改为:waitKey() -
请问visual 2022 未定义标识符system怎么解决
2021-11-15 21:57:14 -
STM32使用VSCODE编程报未定义标识符
2022-04-11 10:14:07STM32使用VSCODE编程报未定义标识符 -
C++中get_size()为什么是未定义标识符?
2022-05-16 15:08:38楼主在看C++Primer,发现一行代码不能运行,因为包含了get_size代码。 请问这个代码和std::cin有区别吗,可以用cin代替get_size吗 -
VS中的MFC显示未定义标识符?
2019-12-27 12:52:43利用VS中的MFC多文档,总会会出现未定义标识符、未声明的标识符,请问我应该在哪个文件中声明呢?具体的格式是什么? ``` int CMy3DEditorView::OnCreate(LPCREATESTRUCT IpCreateStruct) { if(CView::... -
CUDA编程出现未定义标识符blockDim
2022-01-13 09:50:09cu文件–属性–常规–生成文件 cuda c/c++ 添加头文件 #include <device_launch_parameters.h> -
vscode 出现“未定义标识符cout”
2022-01-01 18:35:091. 检查是否有: #include<iostream> using namespace std; 2.若有,可以修改一下vscode的设置: 将C_Cpp:intelli Sense Engine的“Default”改为“Tag Parser” -
char字符型显示未定义标识符
2021-04-26 15:44:06<p>#include<iostream> <p>using namespace std; <p>void printf(int *pbegin,int *pend) <p>{<!-- --> while(pbegin != pend) {<!-- --> cout<<*pbegin;...<p>}</p> -
vscode未定义标识符问题以及乱码问题
2021-10-06 07:55:57关于struck结构体定义之后显示标识符未定义问题 struct pcb{ char name[10]; float servicetime; float starttime;... float finishtime;...//此时的pcb显示未定义标识符,按住ctrl鼠标左键可以找到定义 ... -
IntelliSense: 未定义标识符
2021-09-08 16:29:00编译时报错,但是又能编译成功 错误: 很多未定义标识符错误 vc2010 描述:项目-->配置属性-->C/C++-->常规-->附加包含目录:添加 $(ProjectDir) 即可 -
未定义标识符cvRect
2021-01-28 17:42:43将cvRect改为Rect -
C语言,TEXT() 未定义标识符问题!
2021-05-20 01:25:13用C语言写的一个窗口程序,在VS2010旗舰版下编写, 但是在DrawPaint() 里面的TEXT()显示未定义标识符这是为什么啊,我在MessageBox()中用过这个TEXT()啊,自己检查了一下,括号是没问题啊, 但是就是显示未定义标识符!... -
未定义标识符string的解决办法
2021-09-27 17:34:56在学习黑马程序员时181集时出现报错,竟然不认得string了,经过检查,是在注释掉检测代码的时候把using namespace std 也注释掉了,去掉注释就好了。 -
C++语言:成功解决未定义标识符 "string"、未定义标识符 "cout"、“name”: 未知重写说明符
2019-12-11 20:38:42C++语言:成功解决未定义标识符 "string"、未定义标识符 "cout"、“name”: 未知重写说明符 目录 解决问题 解决方法 解决问题 未定义标识符 "string"、未定义标识符 "cout"、“name”: 未知重写说明... -
vs code中sum是未定义标识符显示应输入";
2022-04-11 11:27:28VS Code配置开发环境时出现“未定义标识符”定义不成功sum