Hello everyone:)
i wish to have a nice Day.
today I explain the errors in 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. Common errors can be grouped into the following categories''
syntax Errors
Run-time Error
Linker Errors
Logical Errors
Semantic errors
syntax Errors
when you violate the rules of writing C/C++ syntax are known as syntax errors.
A compiler error indicates that something needs to be fixed before the code can be compiled. The compiler detects all of these errors, so they are known as compile-time errors.
The most frequent syntax errors are:
- Missing Parenthesis (})
- Printing the value of a variable without declaring it
- Missing semicolon like this:
see the below code
#include <iostream>
using namespace std;
void main()
{
int x = 10;
int y = 15;
cout << " "<< (x, y) // semicolon missed
}
Error
error: expected ';' before '}' token
Run-time Errors
Errors which occur during program execution(run-time) after successful compilation are called run-time errors.
Division by zero, also known as a division error, is one of the most common run-time errors.
The compiler does not directly point to the line where the error occurs for these types of errors.
Runtime errors are commonly called referred to as “bugs” and are often found during the debugging process before the software is released.
See the following example for more information.
#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. "
Error
warning: division by zero [-Wdiv-by-zero]
div = n/0;
In the given example, there is Division by zero error. This is an example of run-time error i.e errors occurring while running the program.
Linker Errors
These error occurs when after compilation we link the different object files with main’s object using Ctrl+F9 key(RUN)
When an executable of the program cannot be generated, these errors are generated. Incorrect function prototyping, incorrect header files may be to blame.
Writing Main() instead of main() is one of the most common linker errors.
See the following example for more information.
#include <bits/stdc++.h>
using namespace std;
void Main() // Here Main() should be main()
{
int a = 10;
cout << " "<< a;
}
Logical Errors
When certain input values are given to a program during compilation and execution, desired output is not obtained.
Logic errors are errors that appear to be error-free but provide incorrect output. They are among the most common programming errors made by beginners. Errors like these depend solely on the logic of the programmer and are easily detected if we follow the path of execution and find out why the program follows that path.
like this meme
#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.
Error
No output
Semantic errors
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
error: lvalue required as left operand of assignment
a + b = c; //semantic error
this summary for you :)
Wishing you all the best 😊