2010-09-20 3 views
2

Я прочитал несколько постов, но не могу понять, что wrong.My код выглядит следующим образомошибка: ожидается, неквалифицированный-идентификатор, прежде чем «общественность»

#include <iostream> 
using namespace std; 


/* compiles with command line gcc xlibtest2.c -lX11 -lm -L/usr/X11R6/lib */ 
#include <X11/Xlib.h> 
#include <X11/Xutil.h> 
#include <X11/Xos.h> 
#include <X11/Xatom.h>  
#include <stdio.h> 
#include <math.h> 
#include <stdlib.h> 

public class Point 
{ 
    int x; 
    int y; 

public Point() 
     { 
      this.x=0; 
      this.y=0; 
     } 
}; 



/*Code For XLib-Begin*/ 

Display *display_ptr; 
Screen *screen_ptr; 
int screen_num; 
char *display_name = NULL; 
unsigned int display_width, display_height; 

Window win; 
int border_width; 
unsigned int win_width, win_height; 
int win_x, win_y; 

XWMHints *wm_hints; 
XClassHint *class_hints; 
XSizeHints *size_hints; 
XTextProperty win_name, icon_name; 
char *win_name_string = "Example Window"; 
char *icon_name_string = "Icon for Example Window"; 

XEvent report; 

GC gc, gc_yellow, gc_red, gc_grey,gc_blue; 
unsigned long valuemask = 0; 
XGCValues gc_values, gc_yellow_values, gc_red_values, gc_grey_values,gc_blue_values;; 
Colormap color_map; 
XColor tmp_color1, tmp_color2; 

/*Code For Xlib- End*/ 





int main(int argc, char **argv) 
{ 
//////some code here 
} 

спасибо ... это worked..ur право I Я парень Java .. еще одна вещь

Это дает ошибку, если я пишу

частный Int х; private int y;

, а если в конструкторе я использую Точка() { this.x = 2; }

Заранее спасибо

+0

правильный синтаксис для ссылки на сам по себе является 'this->', это указатель – Anycorn

+0

Большое спасибо, ребята ... это все сделано. – abbas

+2

Вы действительно должны выбрать [хорошую вводную книгу на C++] (http://stackoverflow.com/questions/388242/the-definitive-c++-book-guide-and-list), если у вас ее еще нет. Если у вас его есть, вам нужно его прочитать. Помимо того факта, что они оба используют фигурные скобки и позволяют сделать что-то на компьютере, Java и C++ имеют очень мало общего. –

ответ

4

Изменение Java-подобный синтаксис для:

class Point //access modifiers cannot be applied to classes while defining them 
{ 
    int x; 
    int y; 

    public : //Note a colon here 

    Point() :x(),y() //member initialization list 
    { 
     //`this` is not a reference in C++     
    } 
}; //Notice the semicolon 
3

Попробуйте это:

class Point { 
    int x; 
    int y; 

    public: 
    Point(): x(0), y(0) { 
    } 
}; 

Синтаксис используется как выглядит Java.

Смежные вопросы