错误:预期“公共”之前的不合格id

我已经阅读了几个post,但无法弄清楚什么是错的。我的代码如下

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

谢谢…它的工作..对我是一个Java的家伙..一件事

如果我写的话会给出错误

private int x; private int y;

如果在构造函数中使用Point(){this.x = 2; }

提前致谢

将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 

尝试这个:

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

您使用的语法看起来像Java。