undeclared identifier应该怎么解决

如题所述

应该是你的数据类型没有定义,除了语言本身的那些数据类型,其他的类型需要自己定义。debug一下,看出错的地方,查找一下那个无法识别的类型,有可能是你在其他类中定义了这种类型,没有把那个类include进来。

你也可以把函数分为两类,一种是你自己写的,一种是库函数。printf()函数就是库函数,为了调用这种函数,需要把相应的头文件包含进来。比如 printf( ) 函数,它的头文件是 stdio.h,再比如 sin( )、cos( ) 等数学函数,它们的头文件是 math.h 。

在你所提供的程序里面,为了调用sqrt()函数,已经 include了它的头文件  math.h。现在为了调用printf()函数,就需要前面加一句 #include<stdio.h>

扩展资料:

计算机中中,以位(0 或 1)表示数据。数据的最小的寻址单位称为字节(通常是八位)。机器码指令处理的单位,称作字长。大部分对字长的指令解译,主要以二进制为主,如一个 32 位的字长,可以表示从0至2的32次方减1的无符号整数值,或者表示从负的2的32次方至2的32次方减1的有符号整数值。存在着特殊的算术指令,对字长中的位使用不同的解释,以此作为浮点数

数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 例如大胖子必须睡双人床,就给他双人床,瘦的人单人床就够了。

根据缺省规定,如果在声明中没有说明数据类型,则令变量的数据类型为 Variant。Variant 数据类型很像一条变色龙— 它可在不同场合代表不同数据类型。当指定变量为 Variant 变量时,不必在数据类型之间进行转换,Visual Basic 会自动完成各种必要的转换。

参考资料:数据类型-百度百科

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-08-21

分析如下:

应该是你的数据类型没有定义,除了语言本身的那些数据类型,其他的类型需要自己定义。debug一下,看出错的地方,查找一下那个无法识别的类型,有可能是你在其他类中定义了这种类型,没有把那个类include进来。

你也可以把函数分为两类,一种是你自己写的,一种是库函数。printf()函数就是库函数,为了调用这种函数,需要把相应的头文件包含进来。比如 printf( ) 函数,它的头文件是 stdio.h,再比如 sin( )、cos( ) 等数学函数,它们的头文件是 math.h 。

在你所提供的程序里面,为了调用sqrt()函数,已经 include了它的头文件  math.h。现在为了调用printf()函数,就需要前面加一句 #include<stdio.h>

扩展资料:

编程语言:

Delphi

Delphi语言是一个基于Object Pascal语言的Windows应用程序开发系统,在所有的事件处理过程和应用程序中都是使用它来编写程序代码。

Delphi语言标识符是Object Pascal语言中用来表示应用程序量的名称。包括:变量(Var)、常量(Const)、类型(Type)、过程(Procedure)、方法(Method)等。

标识符分为标准标识符和自定义标识符两类。标准标识符是Object Pascal语言系统预先分配给标准常量、标准类型、标准函数、标准过程及标准文件使用的标识符。

如标准常量:False、True;标准类型:integer、char、real;标准函数:Abs、Sqr、Cos等。自定义标识符是程序员根据需要为自己定义的常量、变量、类型、函数、过程以及所编写的程序名等。

Object Pascal标识符由字母、数字、下划线组成,其规定为:

(1)必须以字母或下划线开始;

(2)不能与保留字相同;

(3)避免与Object Pascal已经使用的标准标识符相同。

VB

第一个为英文大、小写字母或汉字,后面跟着若干数字、英文大小写字母(字母不区分大小写),下划线'_'或美元符号'$',总长度不要超过255个。

在Basic语言里,标识符不分字母大小写。另外,在电脑语言中,预先定义了一些标识符,以作专门用途,我们称之为关键字,所以,您命名的标识符不能与关键字相同。

还有一种情况也必须注意,那就是在同一个作用域内不允许定义相同的标识符。我们也支持中文名字。

例:W_absd1234 就是一个正确的标识符

A12@34 就是一个错误的标识符,因为字符@不能组成标识符

1234 就是一个错误的标识符,因为它不是以字母打头

LLLLl 就是一个正确的标识符

LLlll 与 LLLLl指的是同一个标识符。

ab2cd3ef4 就是一个正确的标识符

AB2cd3ef4 与 ab2cd3ef4指的是同一个标识符

中国龙 也是一个正确的标识符

if 就是一个错误的标识符,因为它是一个关键字。

C语言

1、标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。

2、不能把C语言关键字作为用户标识符,例如if ,for, while等.

3、标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。

4、标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。

5、标识符命名应做到“见名知意”,例如,长度(外语:length),求和、总计(外语:sum),圆周率(外语:pi)……

C语言中把标识符分为三类:关键字,预定义标识符,用户自定义标识符 [1]  。

C++6、标识符由字母、数字、下划线“_”组成。

6、不能把C++关键字作为标识符。

7、标识符长度限制32字符。

8、标识符对大小写敏感。

9、首字符只能是字母或下划线,不能是数字。

JAVA

10、标识符由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。

11、不能把java关键字和保留字作为标识符。

12、标识符没有长度限制。

13、标识符对大小写敏感。

汇编语言

在汇编语言里,标识符由字母、数字、下划线组成。

在汇编语言中,标识符的命名规则是:由字母(大、小写皆可)、数字及下划线组成,且第一个字符必须是字母或者下划线,不能用具有意义的指令符号或者寄存器。在汇编语言中,一般用大写字母。

下面的标识符名是合法的:

year,Day,ATOK,X,_ CWS,HAO

而下面的标识符名是不合法的:

#123,.COM,$100,1996Y,1_2_3,Win3.2,LOOP,AX

python

在python里,标识符有字母、数字、下划线组成。

在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。

以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入。

以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。

flash as3 语法标识符详解

1、在AS3.0中,变量、类和函数都需要一定的名称方可互相区别,并在程序中准确无误的应用。这些有着特定含义的专有名称叫做标识符。

2、按照定义的场所,标识符分为两大类:语言内建标识符和用户自定义标识符。

语言内建标识符:语言内建标识符定义在语言内部。

用户自定义标识符:用户自己创建的名称就是用户自定义标识符.

参考资料来源:百度百科:标识符

本回答被网友采纳
第2个回答  推荐于2019-08-30

undeclared identifier:说明编译时找不到他的声明和定义,就是编译器不认识这个标志,比如变量,或者对象之类的。

需要把错误的详细信息贴出来,这样比较容易找到错误,如果是书上抄的代码,很有可能是缺少包含文件,很多书上的例子都会省略包含文件的,可看看有什么文件用到了,但是没有包含的进来的。

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)

扩展资料:

高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。

编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。

对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

参考资料:百度百科-编译器

本回答被网友采纳
第3个回答  2019-09-28

undeclared identifier:说明编译时找不到他的声明和定义,就是编译器不认识这个标志,比如变量,或者对象之类的。

需要把错误的详细信息贴出来,这样比较容易找到错误,如果是书上抄的代码,很有可能是缺少包含文件,很多书上的例子都会省略包含文件的,可看看有什么文件用到了,但是没有包含的进来的。

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)

扩展资料:

高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。

编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。

对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

参考资料:百度百科-编译器

欢迎下载腾讯电脑管家了解更多知识,体验更多功能。

第4个回答  推荐于2018-02-22
应该是你的数据类型没有定义,除了语言本身的那些数据类型,其他的类型需要自己定义。debug一下,看出错的地方,查找一下那个无法识别的类型,有可能是你在其他类中定义了这种类型,没有把那个类include进来本回答被网友采纳
相似回答