views:

110

answers:

2

I have read a few posts but cannot figure out what is wrong.My Code is a s follows

#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
}

thanks...it worked..ur right I am a Java guy.. one more thing

It gives an error if I write

private int x; private int y;

and if in the constructor I use Point() { this.x=2; }

Thanks in advance

+1  A: 

Try this:

class Point {
    int x;
    int y;

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

The syntax you are using looks like Java.

sje397
+2  A: 

Change your Java like syntax to :

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
Prasoon Saurav