Tulisan ini didasari pada pengalaman yang saya dan teman-teman alami ketika masuk kelas pemrograman di kuliah. Saya dan beberapa teman2 di tugaskan untuk membuat program sederhana menggunakan aplikasi C++. Kendala yang kami alami adalah ketika semua code sudah selesai di tulis di C++, ketika menekan F9 untuk mengetahui apakah scrypt yg kami tulis sudah benar atau tidak muncul error yang begitu banyak. dan di aplikasi C++ yang kami gunakan di beritahu syntax error yang terjadi.
Karena masih pemula dalam pemrograman saya dan teman-teman merasakan kesulitan memahami maksud error yang muncul. Berangkat dari pengalaman tersebut, saya mencoba untuk search di google daftar list syntax/parsing error pada pemrograman C++ agar ketika mengalami syntax/parsing error di kemudian hari pada C++ saya dan teman-teman dapat langsung mengetahui dan memperbaiki syntax atau parsing error yg terjadi.
Karena masih pemula dalam pemrograman saya dan teman-teman merasakan kesulitan memahami maksud error yang muncul. Berangkat dari pengalaman tersebut, saya mencoba untuk search di google daftar list syntax/parsing error pada pemrograman C++ agar ketika mengalami syntax/parsing error di kemudian hari pada C++ saya dan teman-teman dapat langsung mengetahui dan memperbaiki syntax atau parsing error yg terjadi.
beberapa syntax error pada C++
"expected constructor, destructor, or type conversion before ‘namespace’"ini terjdi karena kita menggunakan kata "use" yang seharusnya "using"
contoh :
Salah #include <iostream> use namespace std; // "using" is correct, not "use" int main(void) { cout << "A"; return 0; }Benar
#include <iostream> using namespace std; // that's better! int main(void) { cout << "A"; return 0; }2. "expected initializer before numeric constant"kita lupa untuk meletakkan tanda "=" sebelum angka
salah
void foo() { int i 2; // no =! }Benar
void foo() { int i = 2; // ahhh, better!}
3. "expected initializer before ‘x’"kita lupa meletakkan tanda "=" sebelum x
salah
void foo() { int x = 2; int y x; // should be an equals sign }benar
void foo() { int x = 2; int y = x; // ahhh, better! }4. " expected primary-expression before ‘=’ token"terjadi jika kita meletakkan tanda "=" pada #define
salah
#define PI = 3.1425926 // = is incorrect
void foo() { int i = PI; }benar
#define PI 3.1425926 // ahhh, better!
void foo() { int i = PI; }5. "expected unqualified-id before ‘)’ token"terjadi ketika kita meletakkan tanda kurung "()"
salah
class Foo() // extraneous () { // stuff }benar
class Foo // no () { // stuff }atau bisa terjadi ketika kita meletakkan tanda ; pada akhir sebuah define
salah
#define STUFF 1.0; MyClass() : myVar(STUFF) //STUFF puts extraneous ; in
benar
#define STUFF 1.0
6. expected identifier before ‘&’ tokenkita meletakkan tanda & di tempat yang salah
salah
void foo(&int bar) // ampersand goes before bar { // stuff }benar
void foo(int &bar) // the ampersand is in the right place now { // stuff }7. expected `)' before ‘tile’salah
class Blort { Blort(Foo); };#include "blort.h" Blort::Blort(Foo aFoo) { // Foo not defined // stuff }benar
class Foo { // stuff }#include "foo.h" // now Foo is defined Class Blort { Blort(Foo); };#include "blort.h" Blort::Blort(Foo aFoo) { // stuff }8. expected ‘;’ before ‘}’ tokenkita lupa meletakkan tanda semicolon ";" pada satu block code
salah
class Foo { int i; int j // no semicolon };benar
class Foo { int i; int j; // semicolon };9. expected `;' before numeric constant- kita lupa meletakkan tanda "<<" pada bagian printing
salah
#include <iostream> using namespace std; int printTwo() { cout << "there are " 2 << " apples" << endl; // missing "<<" }benar
#include <iostream> using namespace std; int printTwo() { cout << "there are " << 2 << " apples" << endl; // better! }- atau bisa terjadi jika kita lupa meletakkan tanda "()" pada exit statement
salah
int main(void) { exit 3; // wrong }benar
int main(void) { exit(3); // right }atau bisa terjadi jika kita mendefenisikan sebuah isi untik sebuah varibel dan kita menggunakan variabel yang sama pada fungsi defenisi
salah
#define N 10 ... main(){ ... theFunction(N); //function call ... } void theFunction(int N) //wrong!!! N is replace by 10 in pre processing {}benar
#define N 10 ... main(){ ... theFunction(N); //function call ... } void theFunction(int n) //right !!! change from N to n different variable {}10. expected `;' before string constantlupa meletakkan tanda "<<" pada bagian akhir printing
salah
#include <iostream> using namespace std; int foo(int count) { cout << "there are " << count " apples" << endl; // missing "<<" }benar
#include <iostream> using namespace std; int foo(int count) { cout << "there are " << count << " apples" << endl; // ahhh, better! }11. expected `:' before ‘int’kita lupa meletakkan tanda ":" setelah privacy indicator pada bagian class declaration
salah
class Foo { public int getOne() // missing : { return 1; } public int getTwo() // don't need to repeat { return 1 + getOne(); } };benar
class Foo { public: // say "public" once here int getOne() { return 1; } int getTwo() { return 1 + getOne(); } };12. expected initializer before ‘Foo’salah
#include "Foo.h" class Bar extends Foo { // stuff };benar
#include "Foo.h" class Bar: public Foo { // stuff };13. expected class-name before ‘{’ tokensalah
class Foo: public Bar // Foo is a subclass of Bar { // stuff };benar
#include "Bar.h" // this makes Bar recognized class Foo: public Bar { // stuff };14. undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_salah
Makefile:
foo: foo.o cc testLatLngToPixel.o -o testLatLngToPixel # cc doesn't work for some reason (blank line) .cc.o: g++ -v -g -c $<foo.cc: #include <iostream> #include <string> using namespace std; int main () { string bar; }benar
Makefile:
foo: foo.o g++ testLatLngToPixel.o -o testLatLngToPixel # g++ (blank line) .cc.o: g++ -v -g -c $<
foo.cc:
#include <iostream> #include <string> using namespace std; int main () { string bar; }sumber saya ambil dari http://cplusplus.syntaxerrors.info/index.php?title=Main_Page

No comments:
Post a Comment