编译器检查出的错误

Posted GGBeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译器检查出的错误相关的知识,希望对你有一定的参考价值。

摘要:编译器生成的错误信息、常见错误

一、编译器生成的错误信息

1. 组成情况

  1. 错误出现的文件及代码行
  2. 一条简短描述(编译器认为我们所犯的错误)

2. 错误性质

  • 编译器的一部分工作是寻找程序文本中的错误。
  • 它没有能力检查一个程序是否按照其作者的意图工作,但可以检查形式上的错误。

 

二、常见的编译器可以检查出的错误

1. 语法错误(syntax error)

 1 #include <iostream>
 2 
 3 //错误:main的参数列表漏掉了 
 4 int main(
 5 {
 6     
 7     //错误:endl后使用了冒号而非分号 
 8     std::cout << "Read each file." << std::endl:
 9         
10     //错误:字符串字面常量的两侧漏掉了引号 
11     std::cout << Read each file. << std::endl;
12     
13     //错误:漏掉了第二个输出运算符 
14     std::cout << "Read each file." std::endl;
15     
16     //错误:return 语句漏掉了分号 
17     return 0
18 }
View Code

2. 类型错误(type error)

  • C++每个数据项都有其类型。如10的类型是int,"hello"则是一个字符串字面值常量。
  • 一个type error的错误例子就是:向一个期望参数为int的函数传递了一个字符串字面值常量。

3. 声明错误(declaration error)

  • C++程序中的每个名字都要先声明后使用。名字声明失败通常会导致一条错误信息。
  • 两种常见的声明错误是:①对来自标准库的名字忘记使用std::    ②标识符名字拼写错误
 1 #include <iostream>
 2 int main()
 3 {
 4     int v1 = 0, v2 = 0;
 5     
 6     //错误:使用了"v"而非"v1" 
 7     std::cin >> v >> v2;
 8     
 9     //错误:cout未定义,应该为std::cout 
10     cout << v1 + v2 << std::endl;
11     return 0; 
12 } 
View Code

 

 

【花絮】

编译器报错截图:

 

以上是关于编译器检查出的错误的主要内容,如果未能解决你的问题,请参考以下文章

Java异常类复习总结

错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段

错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段

为什么Java编译器允许在throws部分中列出异常,该方法无法抛出异常

损坏的顶点和片段着色器

不抛出的方法的快速错误处理[重复]