|
发表于 2005-8-2 20:46:44
|
显示全部楼层
using namspace std和#include <stdio.h>不是一路人,不要把它们扯到一起。
你这样试试:
#include <iostream>
std::cout << "whatever string you want to send to console " <<std::endl; //在你的例子using namespace这样的using directive都先省了吧
//另外,好像这和Eclipse和CDT没关系吧, hoho
Post by jiandaoxu
我在一个项目里建立了一个类:DrawBaseImage, DrawBaseImage.h文件如下#ifndef DRAWBASEIMAGE_H
#define DRAWBASEIMAGE_H
#include<X11/Xlib.h>
#include<X11/Xutil.h>
#include<X11/Xos.h>
#include<X11/Xatom.h>
/*下面这行有问题,把这行加上那么在cxx文件里就找不到XOpenDisplay和XDisplayName函数,可是如果去掉,那么就找不到printf函数*/
#include<stdio.h>
using namespace std;
class DrawBaseImage{
private:
static char *str;
Display *display;
int screen_num;
Window win; //窗口ID
unsigned int width, height; //窗口尺寸
unsigned int border_width; //边界空白
unsigned int display_width, display_height; //屏幕尺寸
int count;
XEvent report;
GC gc;
unsigned long valuemask;
XGCValues values;
char *display_name;
public:
DrawBaseImage();
virtual ~DrawBaseImage();
};
#endif // DRAWBASEIMAGE_H
DrawBaseImage.cxx文件如下:
#include "DrawBaseImage.h"
DrawBaseImage:rawBaseImage()
{
/*问题在这个if语句中的XOpenDisplay和XDisplayName,printf函数因为是否包含头文 件#include<stdio.h>的问题会起冲突,请大家帮我看看,谢谢!!*/
if((display = XOpenDisplay(display_name)) == NULL) //问题就是这个XOpenDisplay
{
printf ("Cannot connect to X server %s\n", XDisplayName(display_name));
return;
}
}
DrawBaseImage::~DrawBaseImage()
{
}
int main (int argc, char **argv)
{
}
请大家教教我,谢谢您的帮助!! |
|