C++의 오류 유형 및 인포그래픽 요약

5293 단어 programmingerrorscppc
여러분, 안녕하세요:)
나는 좋은 하루를 보내고 싶습니다.


오늘은 C++의 오류에 대해 설명합니다.



''When a user performs an illegal operation, the program malfunctions as a result. Programming errors are often undetected until the program is compiled or executed. The errors may prevent the program from compiling or running. Consequently, you should eliminate the errors before you compile and run it.''


일반적인 오류는 다음 범주로 그룹화할 수 있습니다.


1. 구문 오류


2. 런타임 오류


3. 링커 오류


4. 논리적 오류


5. 의미론적 오류




1. 구문 오류



when you violate the rules of writing C/C++ syntax are known as syntax errors.



컴파일러 오류는 코드를 컴파일하기 전에 수정해야 할 사항이 있음을 나타냅니다. 컴파일러는 이러한 오류를 모두 감지하므로 컴파일 타임 오류라고 합니다.

가장 빈번한 구문 오류는 다음과 같습니다.
  • 누락된 괄호(})
  • 선언하지 않고 변수 값 인쇄
  • 다음과 같은 세미콜론 누락:

  • 아래 코드를 참조하십시오

    #include <iostream>
    using namespace std;
    
    void main()
    {
        int x = 10;
        int y = 15;
    
        cout << " "<< (x, y) // semicolon missed
    }
    
    


    오류




    error: expected ';' before '}' token
    


    2. 런타임 오류



    Errors which occur during program execution(run-time) after successful compilation are called run-time errors.



    나누기 오류라고도 하는 0으로 나누기는 가장 일반적인 런타임 오류 중 하나입니다.
    컴파일러는 이러한 유형의 오류에 대해 오류가 발생한 줄을 직접 가리키지 않습니다.
    런타임 오류는 일반적으로 "버그"라고 하며 소프트웨어가 출시되기 전 디버깅 프로세스 중에 종종 발견됩니다.

    자세한 내용은 다음 예를 참조하십시오.

    #include <iostream>
    #include <bits/stdc++.h>
    using namespace std;
    
    void main()
    {
        int n = 9, div = 0;
    
        // wrong logic number is divided by 0,
        // so this program abnormally terminates
        div = n/0;
    
       cout << "result = "<< div;
    }
    


    note:

    " These types of error are hard to find as the compiler does not point to the line at which the error occurs. "



    ### 오류

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    


    주어진 예에서 0으로 나누기 오류가 있습니다. 이것은 런타임 오류, 즉 프로그램을 실행하는 동안 발생하는 오류의 예입니다.

    3. 링커 오류



    These error occurs when after compilation we link the different object files with main’s object using Ctrl+F9 key(RUN)



    프로그램의 실행 파일을 생성할 수 없는 경우 이러한 오류가 생성됩니다.
    잘못된 기능 프로토타이핑, 잘못된 헤더 파일이 원인일 수 있습니다.
    main() 대신 Main()을 작성하는 것은 가장 일반적인 링커 오류 중 하나입니다.

    자세한 내용은 다음 예를 참조하십시오.

    #include <bits/stdc++.h>
    using namespace std;
    
    void Main() // Here Main() should be main()
    {
        int a = 10;
        cout << " "<< a;
    }
    


    4. 논리적 오류



    When certain input values are given to a program during compilation and execution, desired output is not obtained.



    논리 오류는 오류가 없는 것처럼 보이지만 잘못된 출력을 제공하는 오류입니다. 그들은 초보자가 만드는 가장 일반적인 프로그래밍 오류 중 하나입니다. 이와 같은 오류는 전적으로 프로그래머의 논리에 의존하며 실행 경로를 따라가고 프로그램이 해당 경로를 따르는 이유를 찾으면 쉽게 감지됩니다.

    이 밈처럼





    #include <bits/stdc++.h>
    using namespace std;
    // C++ program to illustrate
    // logical error
    int main()
    {
        int i = 0;
    
        // logical error : a semicolon after loop
        for(i = 0; i < 3; i++);
        {
        cout << "loop ";
            continue;
        }
        return 0;
    }
    
    
    // This code is contributed by shivanisinghss2110.
    
    


    오류




    No output
    


    5. 의미론적 오류



    A semantic error occurs when the statements written in the program do not make sense to the compiler.



    #include <bits/stdc++.h>
    using namespace std;
    void main()
    {
      int a, b, c;
      a + b = c; //semantic error
    }
    


    오류




    error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    


    당신을 위한 요약입니다 :)




    최선을 다하길 바랍니다 😊

    좋은 웹페이지 즐겨찾기